Tech

sumproduct

onesixx 2008. 4. 29. 17:01
반응형

다중조건의합계
논리곱을 수행한후 최종적으로 합계를 구할열이 맨나중에 나오는것이 통상적입니다.

SUM 함수는 이미 잘 알고 계시리라 생각하여 SUMPRODUCT 함수 즉 배열함수 혹은 배열수식만을

설명 드리도록 하지요

다음과 같은 데이터에서 품질 관리팀 과장의 연봉 합계를 구해 보도록 하지요

      A             B        C
1    팀명         직책     연봉
2   총무팀        과장     5000
3   총무팀        사원     2900
4   기술팀        대리     3800
5   품질관리팀    과장     4500
6   품질관리팀    과장     5200
7   품질관리팀    대리     3600

아마 식으로 쓰면
=SUMPRODUCT((A2:A7="품질관리팀")*(B2:B7="과장")*(C2:C7)) 처럼 쓸 수 있는데

위의 식을 사용하는 경우 수식(함수)가 인식하는 사항을 살펴보면
A2:A7="품질관리팀", B2:B7="과장" 이라는 조건에 따라 다음처럼 인식이 된답니다

      A             B         C
1    팀명         직책      연봉
2   FALSE         TRUE      5000
3   FALSE         FALSE     2900
4   FALSE         FALSE     3800
5   TRUE          TRUE      4500
6   TRUE          TRUE      5200
7   TRUE          FALSE     3600

여기서 논리값의 경우 TRUE = 1,  FALSE = 0 으로 대체되므로 위의 테이블을 다시 쓰면

      A          B         C
1    팀명       직책      연봉
2     0          1        5000
3     0          0        2900
4     0          0        3800
5     1          1        4500
6     1          1        5200
7     1          0        3600

처럼 되며

=SUMPRODUCT((A2:A7="품질관리팀")*(B2:B7="과장")*(C2:C7)) 의 식은
A열 B열 C열을 배열로 곱하기하여 더하게 되므로

결과를 다시 쓰면

      A          B         C            D
1    팀명       직책      연봉       계산값
2     0          1        5000         0
3     0          0        2900         0
4     0          0        3800         0
5     1          1        4500       4500
6     1          1        5200       5200
7     1          0        3600         0

이 되므로

=SUMPRODUCT((A2:A7="품질관리팀")*(B2:B7="과장")*(C2:C7))
는 계산값(4500 과 5200)을 더한 9700이 되는 것 이랍니다

반응형

'Tech' 카테고리의 다른 글

USB Memory를 파티션 나누기 - 이동디스크 Partition Magic사용하기  (4) 2008.06.24
Adblock plus  (1) 2008.05.28
XP 로컬컴퓨터정책 Setting  (0) 2008.05.16
XP 동시접속자 제한 늘리기  (0) 2008.04.03
맑은 고딕  (0) 2008.03.25
Tab Mix Plus : Firefox Add-ons  (0) 2008.03.24