강좌(교육)

[엑셀 함수강좌] 조건이 참일때만 더하는 함수(SUMPRODUCT)엑셀교실

조아0415 2016. 12. 16. 14:39


[엑셀 함수강좌] 조건이 참일때만 더하는 함수(SUMPRODUCT)엑셀교실

SUMPRODUCT 함수

=SUMPRODUCT(array1, [array2], .........)
 

SUMPRODUCT 함수는 SUM(더하기함수) + PRODUCT(곱하기함수)가 합쳐진 함수로써
인수로 주어진 배열의 해당요소를 곱한 후에 이 곱해진 값들의 합계를 구하는 함수입니다.

 

※ 인수설명

array라는 것은 배열을 말하는 것으로 그냥 쉽게 생각해서 표(Table)라고 생각하면 됩니다
이때 인수로 사용하는 배열의 행수와 열수는 모두 같아야 합니다
각각 배열의 항목이 1:1로 대응이 되어 곱하기 계산이 되어야 하기 때문이죠.

 

TIP. 엑셀프로그램 상에서는 위와 같이 
=SUMPRODUCT(array1, [array2], .........) 수식으로 사용방법을 알려주지만 

실제로 엑셀 실무에서 자주 사용되는 
SUMPRODUCT 함수 사용방법은 아래와 같습니다.
=SUMPRODUCT((배열=조건)*(배열=조건)*(배열))

 

위와 같은 수식으로 배열에 조건을 주어 조건이 참일 경우에만 합계를 구할수 있습니다.

 

위의 수식들만 봐선 잘 이해가 안가시죠아래 예제를 통해 함수의 사용방법을 익혀 보겠습니다.
 

※ 아래 표를 보고 SUMPRODUCT함수를 이용해 예제를 풀어보세요.

 

 

 

1. 직원에게 현재까지 지급된 급여액 총 합계를 계산해보세요.

2. 대리직급을 가진 사람은 몇 명인지 세어보세요.

3. 주임 직급을 가진 사람들의 급여의 합은 얼마인지 계산해보세요.

 



문제를 풀이해보면
,

1. 현재까지 직원에게 지급된 급여의 총합계는 급여액과 지급된 개월 수를 곱한 다음 더하면 되므로 
=SUMPRODUCT(D4:D12, E4:E12) 로 나타낼 수 있습니다.

실제로 계산과정을 풀어보면

=2500000*8 + 2700000*6 + 2300000*8 + 3000000*8 + 2400000*8 + 2000000*5 + 3300000*8 + 2900000*8 + 2200000*8

위와 같으므로 값은 
175,000,000 인 것을 확인 할 수 있습니다.


 

2. 대리직급을 가진 사람은 대리라는 조건을 만족해야 하므로 아래와 같은데,

=SUMPRODUCT((C4:C12="대리")*1)

 

이때 1을 곱해주는 이유는 SUMPRODUCT함수의 인수에 *연산자를 사용하기위해선 2가지 이상의 조건이 필요하기 때문입니다.


실제로 계산과정을 풀어보면
,


C4:C12 
의 범위중에 대리인 값이 있으면 그 값이 TRUE이므로 1을 반환하고 FALSE인 값이 있으면 0을 반환합니다.

그러면 C4, C5, C8 셀이 1을 반환하고 각각 1을 곱해서 더하면 3인 것을 알 수 있습니다.


 

3. 마찬가지로 주임직급을 가진 사람들의 8월 급여의 합은 아래와 같은 수식으로 나타낼 수 있고

=SUMPRODUCT((C4:C12="주임")*(D4:D12))


이를 풀이해보면 
C4:C12까지 범위에서 주임조건을 가지는 셀을 확인하여 D4:D12까지 범위에 대응하는 값을 곱한다음 
각 산출된 값을 더해주게 됩니다
.

=1*2300000 + 1*2000000 + 1*2200000

위와 같이 계산결과를 도출하여 값은 6,500,000 인 것을 확인 할 수 있습니다