ExcelSUMPRODUCT배열 곱

엑셀 SUMPRODUCT

배열들의 곱의 합 — 단가×수량, 가중평균, 다중 조건 카운트·합계의 만능 함수

SUMPRODUCT 수식 구조

=SUMPRODUCT(배열1, [배열2], ...)

배열1, 배열2, ... (array)

같은 크기·차원의 범위. 같은 위치의 값들을 곱한 뒤 모두 합산

동작 원리: 각 위치의 값을 곱한 결과를 모두 더합니다 — SUMPRODUCT({1,2,3}, {4,5,6}) = 1·4 + 2·5 + 3·6 = 32. 인수가 하나면 단순 SUM이 됩니다. 진짜 강력함은 조건 배열을 곱셈에 끼워 넣을 때 드러납니다 —(A=조건)*단가*수량으로 다중 조건 합산을 한 수식에 해결합니다.

직접 체험해보세요

단가·수량 셀을 직접 수정하고 카테고리 필터로 다중 조건 모드를 켜보세요. 곱셈 분해가 실시간으로 갱신됩니다

B7==SUMPRODUCT(단가, 수량)41,300원
카테고리 필터:
상품카테고리단가수량소계
상품1A6,000원
상품2B16,100원
상품3A9,600원
상품4B9,600원

SUMPRODUCT 분해: (단가 × 수량) 들의 합

1500×4
+2300×7
+800×12
+3200×3
= 41,300원

SUMPRODUCT

41,300원

한 수식으로 완성

SUM 방식

41,300원

소계 열 추가 후 SUM

총 합계(필터 무시): 41,300원

실전 활용 예제

=SUMPRODUCT(단가범위, 수량범위)

가장 기본 — 매출 총액 한 줄. 소계 열을 따로 만들 필요 없음. 단가 표와 수량 표만 있으면 끝.

예시: =SUMPRODUCT(B2:B10, C2:C10)총 매출액
=SUMPRODUCT((범위="조건")*1)

조건 카운트 — COUNTIF 대체. TRUE/FALSE 배열에 *1을 곱해 숫자(1/0)로 만든 후 합산. COUNTIFS보다 자유로움.

예시: =SUMPRODUCT((부서="영업")*1)영업부 인원 수
=SUMPRODUCT((조건1)*(조건2)*값범위)

다중 조건 합산 — SUMIFS 대체. 조건 배열들을 곱해 AND 효과(0×무엇이든=0). +로 바꾸면 OR.

예시: =SUMPRODUCT((부서="영업")*(직급="대리")*급여)영업부 대리 급여 합
=SUMPRODUCT(점수범위, 비중범위)/SUMPRODUCT(비중범위)

가중평균 — 단순 AVERAGE는 모두 같은 비중. 시험 점수·평가 항목처럼 각 항목 가중치가 다를 때 사용.

예시: 과목별 점수×학점 / 학점 합GPA 계산
더 알아보기

SUMPRODUCT가 SUMIF·COUNTIF의 일반화인 이유

SUMIF/COUNTIF의 한계: 조건이 1개일 때만, SUMIFS/COUNTIFS는 모든 조건이 AND일 때만 동작합니다. SUMPRODUCT는 조건을 직접 곱셈·덧셈으로 조합하므로 OR·NOT·복잡한 식까지 모두 표현 가능합니다.

목적전통SUMPRODUCT
단일 조건 합SUMIF(A=조건)*값
AND 다중 조건SUMIFS(A)*(B)*값
OR 조건불가((A)+(B)>0)*값
조건 + 가중평균복잡한 줄

핵심 트릭: 조건식 (A1:A10="영업")은 TRUE/FALSE 배열이고, 이를 숫자와 곱하면 TRUE→1, FALSE→0으로 자동 변환됩니다. 그래서 곱셈은 AND, 덧셈은 OR을 표현합니다.

SUMPRODUCT의 함정 — 차원 불일치와 텍스트

SUMPRODUCT는 강력하지만 모든 배열의 크기가 정확히 같아야 합니다. A2:A10과 B2:B11처럼 한 줄 차이만 나도 #VALUE! 오류.

=SUMPRODUCT(A2:A10, B2:B11) → #VALUE!

차원이 9 vs 10으로 어긋남

또한 텍스트가 섞이면 자동으로 0이 아니라 오류가 납니다. 빈 셀은 0, 숫자처럼 보이는 텍스트는 오류. --(이중 부정) 트릭은 TRUE/FALSE를 1/0으로 강제 변환할 때 유용합니다: SUMPRODUCT(--(A=조건)).

성능: SUMPRODUCT는 전체 범위를 순회하므로 SUMIFS보다 느립니다. 대용량(수만 행 이상)에선 SUMIFS·COUNTIFS가 가능하면 그쪽을 쓰는 게 좋습니다.

M365 시대의 SUMPRODUCT — 여전히 유효한가

M365의 동적 배열 도입으로 일반 SUM·SUMIFS· FILTER도 배열 연산을 자연스럽게 처리하게 되었습니다. 그럼에도 SUMPRODUCT는 여전히 유용합니다.

SUMPRODUCT가 여전히 좋은 이유

- 구버전 호환성 — 어느 버전에서나 동작

- Ctrl+Shift+Enter 없이 배열 처리

- 가중평균 등 분자·분모 한 수식으로

- 동료에게 공유했을 때 깨질 위험 적음

"내가 만든 시트를 회사 동료(구버전 사용자)도 봐야 한다"면 SUMPRODUCT가 안전합니다. FILTER·SUMIFS로 교체할 수 있다면 가독성·성능 모두 그쪽이 유리합니다.

자주 묻는 질문 (FAQ)

Q. 인수를 하나만 넣으면?

그대로 합산됩니다 — SUMPRODUCT(A1:A10) = SUM(A1:A10). 다만 SUMPRODUCT는 텍스트가 섞이면 오류, SUM은 텍스트를 0으로 무시한다는 차이가 있습니다.

Q. *(곱하기)랑 ,(쉼표)랑 차이가 있나요?

결과는 같지만 동작이 다릅니다. SUMPRODUCT(A, B)는 인수로 받아 각각 배열로 처리, SUMPRODUCT(A*B)는 셀 단위 곱셈 후 합산. 조건식을 섞을 땐*가 거의 필수입니다 — (A=조건)*B처럼.

Q. 빈 셀은 어떻게 처리되나요?

숫자 0으로 처리됩니다. 곱셈에서 0과 곱하면 그 행은 0이 되어 합산에 기여하지 않습니다. "빈 셀 제외" 같은 명시적 처리는 필요 없습니다.

Q. 와일드카드(* ?)도 쓸 수 있나요?

네이티브로는 안 됩니다. SUMIFS·COUNTIFS는 와일드카드 지원, SUMPRODUCT는 미지원. 부분 일치가 필요하면 ISNUMBER(SEARCH(...))를 조건 배열에 쓰면 됩니다: SUMPRODUCT(ISNUMBER(SEARCH("키워드",A:A))*B:B).