엑셀 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 오빠두엑셀

선택된 범위에서 여러개의 조건을 만족하는 셀의 개수를 구합니다.
범위에서 조건을 만족하는 값의 합계를 계산합니다.

응용함수 공식 | by 오빠두엑셀 

문자와 숫자가 섞인 문자열에서 숫자만 추출합니다.
SUMIF 함수의 월별 합계를 구분열 없이 계산합니다.
선택된 범위의 가중 산술평균을 계산합니다.
데이터에서 중복값을 제거 한 뒤 고유값의 개수만 카운트합니다.
조건을 범위로 입력하여 만족하지 않는 개수를 보다 간단하게 계산합니다.