[엑셀] sumproduct 함수 알아보자
sumproduct 함수는 배열범위끼리 곱하고 합계를 구하는 함수입니다.
단가와 수량을 곱한 것의 총 합계를 구하라
라고 한다면 가격이라고 필드를 하나 추가해서 단가 X 수량 = 가격 이라는 값을 구해서 원하는 결과를 얻어도 되지만 그냥 sumproduct 함수를 써서 결과를 얻을 수 있습니다
함수식은 =SUMPRODUCT(D2:D16,E2:E16) 로 지정하면 됩니다. 여기서 반드시 행과 열은 일치된 것끼리 곱하기를 하셔야 합니다.
D2:D16 (15개)에 대응되는 것을 E3:E16 (14개)이라고 하면 #VALUE 라고 에러가 발생합니다.
D2:D16 (15개)에 대응되는 것을 E3:E17 (15개)로 한줄 밀려서 지정하면
D2 X E3 + D3 X E4 처럼 밀려서 곱하기하고 합을 하므로 값은 구해집니다만 결과가 다르게 나옵니다.
이번에는 조건을 걸어서 조건에 맞는 것만 구해보겠습니다.
수량이 15개 이상인 것만 찾아서 단가 X 수량의 총합을 구하라
라고 한다면
여기서 배열의 조건식 E2:E16 >= 15 의 의미는 조건식과 일치하면 True 인 1을 돌려주고, 조건식과 틀리면 False인 0 을 반환합니다.
다시 말해서 E2 가 15보다 큰가? 맞다면 1을 반환하고, 뒤의 E2와 값을 곱하라(*)
이렇게 배열범위안에 있는 각 셀의 조건 충족 여부를 확인하면서 값을 구하는 것입니다.
이번에는 품목이 독서대인 것의 단가 X 수량의 합을 구하라
여기서 한가지 더 살펴보겠습니다.
품목이 독서대인 것은 몇개인가? 를 육안으로 보면 총 4개 입니다.
함수식으로 구하는 건 =SUMPRODUCT((C2:C16="독서대")*1)
뒤에 1을 곱해주면 됩니다.
조건이 2개 이상의 다중조건식은 어떻게 하는지 이해되시죠?
공급처는 '동아' 이고 품목은 '독서대' 인 것이 몇개인지 구하는 식은 =SUMPRODUCT((B2:B16="동아")*(C2:C16="독서대")*1)
공급처가 '동아'이고 품목은 '독서대' 인 것의 단가 X 수량의 합을 구하라 고 하면
조건 두가지와 구할 영역을 곱해(*)주면 된다는 것 이해되시죠?
배열의 조건은 더 다양하게 설정이 가능합니다.
도움이 좀 되셨기를 ^^
'업무 능력 향상 > 엑셀함수배우기' 카테고리의 다른 글
[엑셀] Subtotal 함수 (0) | 2014.01.11 |
---|---|
[엑셀] IF 문은 대문자 소문자를 구별할까? (0) | 2013.12.24 |
[엑셀] OFFSET 함수 개념 잡아보자 (1) | 2013.07.25 |
[엑셀] SUMIFS 함수 쉽게 다뤄보기 (2) | 2013.06.22 |
[엑셀] 유용한 엑셀 함수 (2) | 2013.06.15 |