SUMPRODUCT 함수 핵심 정리 — 배열 수식 없이 다중 조건 집계하기

월말 실적표에서 “목표 달성 여부”를 YES/NO로만 세면, 조건이 두 개 이상일 때 COUNTIF만으로는 막힙니다. 저는 예전에 =SUMPRODUCT((B2:B100>=100000)*(C2:C100="A")) 한 줄로 매출 10만 이상이면서 등급 A 건수를 세는 법을 재무팀에 알려줬어요. SUMIFS도 되지만, SUMPRODUCT는 배열 곱·합을 한 함수로 처리한다는 점을 이해하면 응용이 넓어집니다.

SUMPRODUCT는 두 이상 범위의 대응 원소끼리 곱한 뒤 합을 구합니다. (조건1)*(조건2)처럼 TRUE/FALSE를 1/0으로 곱하면 COUNTIFS와 같은 집계가 됩니다. 필수 함수 20 허브에서 집계 갈래와 같이 보면 흐름이 잡혀요.

이 글을 따라 하면 얻는 것
– SUMPRODUCT 기본·조건 집계·가중 평균
– SUMIFS·COUNTIFS와 언제 무엇을 쓸지
– #VALUE!·범위 크기 불일치 예방
– TOP N과 연계한 실무 패턴

1. 기본 문법 — 곱 후 합

=SUMPRODUCT(배열1, 배열2, ...)
A: 수량 B: 단가
10 500
5 1,200
8 300

총액:

=SUMPRODUCT(A2:A4,B2:B4)

→ 10×500 + 5×1,200 + 8×300 = 14,600. =SUM(A2:A4*B2:B4)는 구버전에서 Ctrl+Shift+Enter 배열 수식이 필요했지만, SUMPRODUCT는 Enter만으로 됩니다.

2. 조건 집계 — COUNTIFS 대체

매출(B), 등급(C), 지역(D). 서울·등급 A·매출 5만 이상 건수:

=SUMPRODUCT((D2:D500="서울")*(C2:C500="A")*(B2:B500>=50000))

(조건)은 TRUE=1, FALSE=0. 곱하면 모두 참인 행만 1이 됩니다. SUMPRODUCT가 합하면 건수예요.

SUMIFS로도:

=COUNTIFS(D2:D500,"서울",C2:C500,"A",B2:B500,">=50000")

질문이 “조건 합계”면 SUMPRODUCT에 B2:B500을 한 번 더 곱하세요:

=SUMPRODUCT((D2:D500="서울")*(C2:C500="A")*B2:B500)

3. 가중 평균

A: 점수 B: 가중치
85 3
90 2
78 5
=SUMPRODUCT(A2:A4,B2:B4)/SUM(B2:B4)

→ (85×3+90×2+78×5) / 10 = 82.5. 강의 때 수강생이 AVERAGE만 쓰다 가중치를 빼먹는 실수가 잦아요.

4. SUMPRODUCT vs SUMIFS·COUNTIFS

상황 추천
단순 조건 합·개수 SUMIFS, COUNTIFS (읽기 쉬움)
OR 조건 (A="X")+(A="Y") SUMPRODUCT
가중 평균·배열 곱 SUMPRODUCT
텍스트 길이·MOD 등 연산 조건 SUMPRODUCT

OR 예 — 등급 A 또는 B:

=SUMPRODUCT(((C2:C500="A")+(C2:C500="B"))*(B2:B500>=50000))

+로 OR, *로 AND. 괄호를 빼면 우선순위 때문에 결과가 틀어집니다.

5. TOP N과 연계

전체 매출 2위 금액은 LARGE가 편하지만, “2위 이상 건수”는:

=SUMPRODUCT((B2:B500>=LARGE(B2:B500,2))*1)

조건+순위를 한 시트에서 처리할 때 SUMPRODUCT가 자주 나옵니다.

6. #VALUE!·실수 예방

  1. 범위 행 수 불일치 — A2:A100과 B2:B99는 #VALUE!
  2. 텍스트×숫자 — 의도치 않은 열을 곱했는지 확인
  3. 전체 열 A:A — 데이터 끝 아래 빈 행·오류 값까지 포함 → A2:A5000으로 제한
  4. 날짜 조건"2026-01-01" 텍스트 vs DATE(2026,1,1) 형식 통일
  5. 논리값 곱(B2:B100>=0)*1처럼 명시하면 합계 열에 TRUE/FALSE가 안 섞임

7. 365 동적 배열과

365에서 =FILTER(...)가 spill로 퍼지면, SUMPRODUCT 범위를 spill 결과에 맞출 수 있습니다. spill 옆에 값이 있으면 #SPILL! — 범위 설계 전에 spill 영역을 비우세요.

8. FAQ

Q. SUMPRODUCT가 느린가요?
전체 열·수십만 행이면 SUMIFS가 낫습니다. 범위를 B2:B5000처럼 제한하세요.

Q. AND·OR 함수와 차이?
AND/OR는 단일 TRUE/FALSE. SUMPRODUCT는 행마다 조건을 곱·합해 집계합니다.

Q. SUMPRODUCT에 문자열 조건?
="서울"처럼 따옴표. 와일드카드는 SUMIFS 쪽이 낫습니다.

9. 연습 — 스스로 확인

데이터: B=매출, C=등급(A/B/C), D=지역.

  1. 서울 매출 합계 (SUMPRODUCT)
  2. 등급 A 또는 B이면서 매출 3만 이상 건수
  3. 가중 평균 — E열 가중치 사용

정답 1: =SUMPRODUCT((D2:D500="서울")*B2:B500). 2번은 OR에 +를 쓰세요. 팀 README에 “다중 AND는 *, OR는 +” 한 줄만 박아도 실수가 줄어요.

참고: SUMPRODUCT · SUMIFS 글.

실무 메모 1

다중 AND는 *, OR는 + — README 한 줄 규칙. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 2

전체 열 대신 B2:B5000 범위 제한. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 3

가중 평균은 SUMPRODUCT/SUM 분모 확인. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 4

다중 AND는 *, OR는 + — README 한 줄 규칙. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 5

전체 열 대신 B2:B5000 범위 제한. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 6

가중 평균은 SUMPRODUCT/SUM 분모 확인. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 7

다중 AND는 *, OR는 + — README 한 줄 규칙. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 8

전체 열 대신 B2:B5000 범위 제한. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 9

가중 평균은 SUMPRODUCT/SUM 분모 확인. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 10

다중 AND는 *, OR는 + — README 한 줄 규칙. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 11

전체 열 대신 B2:B5000 범위 제한. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 12

가중 평균은 SUMPRODUCT/SUM 분모 확인. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 13

다중 AND는 *, OR는 + — README 한 줄 규칙. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 14

전체 열 대신 B2:B5000 범위 제한. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 15

가중 평균은 SUMPRODUCT/SUM 분모 확인. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 16

다중 AND는 *, OR는 + — README 한 줄 규칙. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 17

전체 열 대신 B2:B5000 범위 제한. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 18

가중 평균은 SUMPRODUCT/SUM 분모 확인. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 19

다중 AND는 *, OR는 + — README 한 줄 규칙. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 20

전체 열 대신 B2:B5000 범위 제한. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 21

가중 평균은 SUMPRODUCT/SUM 분모 확인. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 22

다중 AND는 *, OR는 + — README 한 줄 규칙. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 23

전체 열 대신 B2:B5000 범위 제한. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 24

가중 평균은 SUMPRODUCT/SUM 분모 확인. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 25

다중 AND는 *, OR는 + — README 한 줄 규칙. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 26

전체 열 대신 B2:B5000 범위 제한. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 27

가중 평균은 SUMPRODUCT/SUM 분모 확인. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 28

다중 AND는 *, OR는 + — README 한 줄 규칙. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

작성자 소개