2017. 11. 1. 00:48
728x90

sumproduct(배열1, 배열2, 배열3...)

각 배열에 대응하는 순서끼리 곱한 것을 합한다.
예를 들어 sumproduct(A1:A3, B1:B3, C1:C3)로 설정할 경우 각 배열은 아래와 같다.
배열1 - A1, A2, A3
배열2 - B1, B2, B3
배열3 - C1, C2, C2
이 때 sumproduct의 계산은 ((A1*B1*C1)+(A2*B2*C2)+(A3*B3*C3))이 된다.
범위가 하나라도 다른 경우가 있을 경우 곱하기를 진행하는 과정에서 에러가 나와 #VALUE가 뜬다.
따라서 각 배열의 크기와 형태가 모두 동일해야 한다.

단순히 이런 형태이기만 해서는 활용이 어렵지만 배열1의 위치에 범위 조건을 걸어주는 방식을 응용하면 좀 더 활용도를 높일 수 있다.

오른쪽 자산에 있는 값들은 왼쪽에 있는 각 브랜드의 가격*수량의 총합이다.
A의 자산에는 sumproduct((B3:B8=F3)*1, C3:C8, D3:D8)이 작성되어 있다.
(B3:B8=F3)*1을 이용해서 범위를 설정하고, 나머지 배열 인자들은 조건문이 설정한 범위를 따라간다.
조건문은 *로 연결하는 것으로 여러개를 설정할 수 있다.
sumproduct((B3:B8=F3)*(C3:C8>100)*1, C3:C8, D3:D8)으로 설정하면
브랜드가 A이면서 가격이 100보다 비싼 곳을 범위로 설정하여 결과가 나온다.
이와 같은 형태로 특정 조건에 해당하는 범위의 합계를 구할 수 있다.

728x90

'공부 > 기타' 카테고리의 다른 글

자료구조 2장. 연습문제 05  (0) 2018.07.25
자료구조 2장. 연습문제 04  (0) 2018.07.25
자료구조 2장. 연습문제 01  (0) 2018.07.25
xor을 이용한 스왑  (0) 2018.03.20
[엑셀] 반올림/올림/내림 (ROUND)  (0) 2017.11.05
Posted by 아야카