엑셀 SUMPRODUCT 함수 사용법 및 실전예제 총정리 :: 수학 함수

주어진 범위(배열)의 각 항목을 모두 곱한 뒤, 그 곱의 합계를 구하는 SUMPROUDCT 함수의 사용법 및 주의사항을 알아봅니다.

홈페이지 » 엑셀 SUMPRODUCT 함수 사용법 및 실전예제 :: 수학 함수

엑셀 SUMPRODUCT 함수

실습파일

요약

주어진 범위(배열)의 각 항목을 모두 곱한 뒤, 그 곱의 합계를 구합니다.

설명

SUMPRODUCT 함수는 여러개의 범위의 각 항목별로 모두 곱한뒤 그 합을 계산하는 함수입니다. 예를들어 '제품 개수' 와 '제품 가격' 이 입력된 범위를 SUMPRODUCT로 구하면, 각 제품의 개수 x 가격을 모두 더한 총 합계가 계산됩니다. 인수로 범위가 1개만 입력될 경우, 각 항목의 합계가 계산됩니다.

SUMPRODUCT 함수는 기본 기능 이외에, 함수의 인수로 '배열'이 들어간다는 점을 활용하여 훨씬 다재다능하게 이용할 수 있습니다. 예를 들어, 다중조건이 함수로 입력되는 SUMIF 함수, COUNTIF 함수 공식을 작성할 수 있습니다.

호환성

 Windows 버전  모든 버전에서 사용 가능합니다.
 Mac 버전  모든 버전에서 사용 가능합니다.

구문

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

인수

 배열1  계산하려는 배열(범위) 입니다.
 배열2, 배열3...  [선택 인수] 계산하려는 배열(범위) 입니다.

반환값

입력된 배열의 각 항목을 곱한 값의 합계를 '숫자값'으로 반환합니다.

사용예시

오빠두엑셀 - 함수 - SUMPRODUCT 함수 사용예제 GIF
SUMPRODUCT 함수로 총 매출을 쉽게 구할 수 있습니다.

다른 주의사항

  • 인수로 최대 255개의 배열을 입력할 수 있습니다. SUMPRODUCT 함수는 배열을 인수로 입력받지만 Ctrl + Shift + Enter 키를 통해 배열형태로 입력할 필요는 없습니다.
  • 배열항목 중 숫자가 아닌 항목은 0 으로 처리됩니다.
  • 각 배열인수의 차원(항목의 개수)은 모두 같아야 합니다. 각 배열인수의 차원이 같지 않을 경우 #VALUE! 오류를 반환합니다.
  • 배열인수로 논리값을 반환할 경우, "--" 기호를 통하여 TRUE/FALSE 값을 1/0 으로 강제 변환해줍니다. 그렇지 않을 경우 옳지않은 값을 반환할 수 있습니다.

자주 묻는 질문

Q. 예제파일에서 사용된 SUMPRODUCT 함수의 사용법이 궁금합니다.

앞서 말씀드린 것과 같이 SUMPRODUCT는 본래의 기능보다 훨씬 다양하게 응용 할 수 있습니다. 보편적으로 SUMIF 함수COUNTIF 함수를 대체 할 수 있으며 더욱 다양한 용도로 응용가능합니다. 아래는 예제파일에 사용된 SUMPRODUCT 함수에 대한 설명입니다.

=SUMPRODUCT(--(ISNUMBER(SEARCH("쉐이크",B7:B15))),C7:C15)
'// SEARCH() 함수 : 찾고자하는 텍스트의 위치값을 숫자로 반환합니다.
'// ISNUMBER() 함수: 값이 숫자값일 경우 TRUE 를 반환합니다.

각 항목별로 나눠 보겠습니다.

=SEARCH("쉐이크",B7:B15)
'// B7:B15의 각 셀마다 "쉐이크" 라는 단어가 있을 경우 해당 단어가 시작하는 위치값을 숫자로 반환합니다.
'// 예를들어, {딸기쉐이크, 밀크쉐이크, 초코쉐이크, 밀크티, 망고쥬스, 사과쥬스} 라는 배열에 SEARCH 함수를 적용할 경우, {3, 3, 3, #VALUE, #VALUE, #VALUE, #VALUE} 를 반환합니다.

SEARCH 함수를 통해 출력된 배열이 ISNUMBER 함수를 통과하면 아래와 같이 반환됩니다.

=ISNUMBER(SEARCH("쉐이크",B7:B15))
'// {3, 3, 3, #VALUE, #VALUE, #VALUE, #VALUE} 로 입력된 배열이 ISNUMBER 함수를 통과하면, {TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE} 로 반환됩니다.

ISNUMBER 함수로 출력된 논리값을 "--"(연속된 빼기기호)기호를 통해 숫자값으로 강제변환 합니다.

= (--ISNUMBER(SEARCH("쉐이크",B7:B15)))
'//
{TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE} 로 입력된 값이 "--" 기호와 곱해지면 {1, 1, 1, 0, 0, 0, 0} 으로 변환됩니다.

출력된 배열을 SUMPRODUCT 함수로 계산합니다.

=SUMPRODUCT(--(ISNUMBER(SEARCH("쉐이크",B7:B15))),C7:C15)
'// 첫번째 인수는 
{1, 1, 1, 0, 0, 0, 0} 입니다.
'// 두번째 인수는 {5, 6, 5, 3, 7, 9, 10} 입니다.
'// 따라서 SUMPRODUCT 함수는 (1*5) + (1*6) + (1*5) + (0*3) + (0*7) + (0*9) + (0*10) 으로 16을 결과값으로 반환합니다.

더 다양한 예제는 아래의 관련포스트 링크를 참조하세요.

[링크] MS OFFICE 공식 홈페이지 SUMPRODUCT 함수 설명

관련 기초함수 | by 오빠두엑셀

5 4 투표
게시글평점
guest
7 댓글
Inline Feedbacks
모든 댓글 보기
dda
dda
2020년 11월 17일 12:14 오후
게시글평점 :
     

아주 잘 써먹을 수 있겠네요

미성
미성
2020년 12월 22일 2:55 오후
게시글평점 :
     

이용해야 겠는데 잘 모르겠네요
좀 더 고우해야 할거 같아요

키제이
키제이
2021년 6월 18일 11:32 오전
게시글평점 :
     

안녕하세요, sumproduct 공식 사용 시, [*--] 대신 [,--]로 사용해도 결과값이 동일한데, 괜찮을까요?

키제이
키제이
2021년 6월 18일 3:52 오후
답글 남기기  오빠두엑셀

아하 그렇군요. 이해했습니다 감사합니다!

컴쟁이
컴쟁이
2021년 10월 19일 9:52 오후
게시글평점 :
     

좋은 자료 감사합니다.

공수래
공수래
2021년 11월 27일 10:21 오전
게시글평점 :
     

잘 활용할게요

7
0
여러분의 생각을 댓글로 남겨주세요.x