SUMPRODUCT 함수
SUMPRODUCT 함수는 두 개 이상의 배열 간의 대응되는 요소들을 곱한 뒤 그 결과를 모두 더하는 함수입니다. 기본적으로, 이 함수는 배열의 곱셈과 덧셈을 결합합니다.
구조: SUMPRODUCT(array1, [array2], [array3], ...)
예를 들어, A1:A3 범위에 1, 2, 3이 있고, B1:B3 범위에 4, 5, 6이 있다고 가정해 보겠습니다. 이 경우 SUMPRODUCT(A1:A3, B1:B3)의 결과는 다음과 같습니다.
- A1과 B1의 곱: 1 * 4 = 4
- A2와 B2의 곱: 2 * 5 = 10
- A3와 B3의 곱: 3 * 6 = 18
이 세 값을 모두 더하면, SUMPRODUCT는 32를 반환합니다.
이 함수는 다차원 배열을 처리할 수 있으며, 복잡한 계산이 필요한 데이터 분석이나 조건부 합계 계산에 유용하게 사용됩니다.
파이썬 NumPy라이브러리 연산
SUMPRODUCT 함수가 내장되어 있지 않지만, NumPy 라이브러리를 사용하여 비슷한 연산을 할 수 있습니다. NumPy는 수학적 연산을 위한 강력한 라이브러리로, 다양한 배열 연산을 지원합니다. numpy.dot() 또는 numpy.multiply() 다음에 sum() 메서드를 사용하여 SUMPRODUCT와 유사한 작업을 수행할 수 있습니다.
예를 들어, 앞서 Excel 예제에서 본 것처럼 두 배열의 요소를 곱한 다음 결과를 합하는 방법은 다음과 같습니다:
python
import numpy as np
# 두 배열 정의
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
# 요소별 곱셈 후 합하기
result = np.sum(np.multiply(array1, array2))
print(result) # 출력: 32
또는 numpy.dot() 함수를 사용하여 같은 결과를 얻을 수 있습니다. dot 함수는 두 배열의 점곱(dot product)을 계산하지만, 1차원 배열의 경우 SUMPRODUCT의 결과와 같습니다.
python
result = np.dot(array1, array2)
print(result) # 출력: 32
이처럼 파이썬에서는 NumPy 라이브러리를 통해 Excel의 SUMPRODUCT와 유사한 연산을 쉽게 할 수 있습니다.