엑셀 SUMPRODUCT 함수는 여러 범위의 각 항목을 곱한 후, 그 곱의 합계를 계산하는 함수입니다.
=SUMPRODUCT(범위1, [범위2], [범위3], ...)
- 범위는 최대 255개까지 입력할 수 있습니다.
- 범위의 각 항목을 곱한 후, 각 곱의 덧셈이 계산됩니다.
예) (A1*B1)+(A2*B2)+(A3*B3)+...
SUMPRODUCT 함수는 여러 범위의 각 항목들을 곱한 후, 그 결과의 합계를 계산하는 함수입니다.
=SUMPRODUCT(B2:B10,C2:C10) / / B열에 수량, C열에 가격이 있을 경우 매출(수량*가격)의 합계를 구합니다.
이 함수는 기본적으로 곱셈과 합계 계산을 수행하지만, 논리식을 포함한 복잡한 조건을 처리할 수 있어 고급 배열 수식에서 다양하게 활용됩니다.
=SUMPRODUCT(--(B2:B20)>=10,C2:C10) / / B열(수량)이 10개 이상인 경우의 매출 합계를 구합니다.
B2:B10에 제품 가격, C2:C10에 판매 수량이 있을 경우, 아래 함수는 제품의 금액과 판매 수량을 곱한 모두 더한 총 매출을 계산합니다.
=SUMPRODUCT(B2:B10,C2:C10) / / B2:B10(가격)과 C2:C10(수량)에서 총 매출을 계산합니다.
A2:A100 에 지역, B2:B100에 카테고리, C2:C100에 판매량이 있을 경우, 아래 함수는 서울 지역에 판매된 의류의 판매량 합계를 계산합니다.
=SUMPRODUCT(--(A2:A100="서울"),--(B2:B100="의류"), C2:C100) / / 지역이 서울이고, 카테고리가 의류인 제품 판매량 합계를 구합니다.
ISNUMBER 함수와 SERACH 함수를 함께 사용하면 특정 단어를 포함하는 조건을 비교할 수 있습니다.
=ISNUMBER(SEARCH("단어",셀)) / / 셀에서 단어의 포함 여부를 비교합니다.
따라서 B열에 제품명, C열에 매출이 있을 경우, 아래 함수는 제품 이름에 "쉐이크"가 포함된 경우의 매출 합계를 구합니다.
=SUMPRODUCT(--(ISNUMBER(SEARCH("쉐이크",B1:B10))),C1:C10) / / 제품명에 "쉐이크"가 포함된 경우의 매출 합계를 구합니다.
엑셀에서 배열이 계산되는 원리를 이해하면 SUMPRODUCT 함수와 같이 배열을 기반으로 한 함수를 작성하고 데이터를 분석하는데 유용합니다. 배열 연산은 크게 곱셈과 덧셈으로 이루어지며, 곱셈은 AND 조건(모두 만족), 덧셈은 OR 조건(하나라도 만족)으로 계산됩니다.
먼저, 배열의 곱셈은 두 조건을 모두 만족하는 경우를 구합니다. 예를 들어 A열에 지점, B열에 제품, C열에 매출이 있을 경우 다음과 같이 함수를 작성하면 지점과 제품을 모두 만조가는 경우의 매출을 구합니다.
=(A1:A10="신촌점")*(B1:B10="과일")*(C1:C10) / / 신촌점에서 판매된 과일의 매출 합계를 구합니다.
배열의 덧셈은 여러 조건 중 하나라도 만족하는 경우를 봅니다. 예를 들어, A열에 영어점수, B열에 수학점수, C열에 경력이 있을 경우 아래 함수는 영어 또는 수학점수 중 하나라도 80점 이상인 경우의 경력 합계를 구합니다.
=(A1:A10>=80)*(B1:B10>=80)*(C1:C10) / / 수학 또는 영어 점수 중 하나라도 80점 이상을 맞은 경우의 경력 합계를 구합니다.
입력된 범위(배열)의 크기는 반드시 같아야 합니다. 범위의 크기가 다를 경우, 함수는 #VALUE! 오류를 반환합니다
숫자가 아닌 텍스트 값은 계산에서 0으로 처리됩니다.
배열 인수에 논리값이 포함된 경우, TRUE/FALSE 값을 1/0으로 변환해줘야 정확한 결과를 얻을 수 있습니다.
SUMPRODUCT 함수는 최대 255개의 범위를 입력할 수 있습니다.