1. 왜 쓰지?
여러 데이터가 있을 때 서로 대응되는 값들을 곱하고 그 총합을 구할 때 유용한 함수가 SUMPRODUCT 함수이다. 간단한 예제를 그림 1에 나타냈다.
총액 = (콘 가격 X 콘 수량) + (바 가격 X 바 수량) + (쭈쭈바 가격 X 쭈쭈바 수량) + (과자 가격 X 과자 수량)
2. SUMPRODUCT 사용 방법
=SUMPRODUCT(array1, [array2], [array3], ...)
그림 1의 예제에서 총비용을 계산하기 위해 각 품목의 가격과 수량을 곱한 결과를 더했다. 수량 옆에 새로운 열을 만들어 가격x수량을 계산하고 이 값들을 SUM 함수로 합할 수 있지만 SUMPRODUCT를 이용하면 이 과정을 한 번에 처리하기 때문에 총가격을 쉽게 계산할 수 있다. 또한 수식이 간단해져서 나중에 볼 때 이해도 쉽고 관리가 편리해진다.
SUMPRODUCT의 인수 array1은 첫 번째 배열이고 array2, array3을 입력하면 대응되는 원소끼리 곱하고 모두 더한다. 따라서 반드시 하나의 열이나 행일 필요 없고 mxn 형태의 행렬끼리도 계산이 가능하다. 다만 배열 요소의 곱을 할 행렬끼리는 같은 크기여야 한다. 배열이긴 하지만 SUMPRODUCT를 이용할 때는 스칼라 결과를 주므로 행렬 수식에 사용하는 CTRL + SHIFT + ENTER를 할 필요는 없다.
3. 내적의 계산
가만히 생각해보면 SUMPRODUCT의 연산은 벡터의 내적과 같은 것임을 알 수 있다. 따라서 벡터의 내적을 계산할 때도 여러 단계를 거치거나 직접 원소끼리 하나하나 곱해서 더하지 않고 간단하게 계산할 수 있다.
$$ \boldsymbol{a} \cdot \boldsymbol{b} = \sum a_i b_i $$
최근댓글