rand(life)

1일1함수 (32) SUMIFS 함수 : 여러 조건에 맞는 셀 값의 합계 본문

컴퓨터/엑셀

1일1함수 (32) SUMIFS 함수 : 여러 조건에 맞는 셀 값의 합계

flogsta 2009. 5. 12. 23:00
오늘은 엑셀2007버전에서 새로이 추가된 함수인 SUMIFS함수입니다.
SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], …)

SUMIFS 함수 구문에는 다음과 같은 인수(인수: 동작, 이벤트, 메서드, 속성, 함수 또는 프로시저에 정보를 제공하는 값입니다.)가 사용됩니다.

  • sum_range  필수 요소입니다. 합계를 계산할 한 개 이상의 셀입니다. 여기에는 숫자나 이름 또는 범위가 포함될 수 있고 숫자가 들어 있는 셀 참조(셀 참조: 워크시트에서 셀이 차지하는 좌표 집합입니다. 예를 들어 B열과 3행의 교차 부분에 나타나는 셀의 참조는 B3이 됩니다.)도 포함될 수 있습니다. 빈 값이나 텍스트 값은 무시됩니다.
  • criteria_range1  필수 요소입니다. 관련 조건을 평가할 첫 번째 범위입니다.
  • criteria1  필수 요소입니다. 숫자, 식, 셀 참조 또는 텍스트 형식의 조건으로서, 합계를 계산할 criteria_range1 인수의 셀을 정의합니다. 예를 들어 32, ">32", B4, "사과" 또는 "32"와 같이 조건을 지정할 수 있습니다.
  • criteria_range2, criteria2, ...  선택 요소입니다. 추가로 지정할 범위 및 관련 조건입니다. 범위와 조건의 쌍은 최대 127개까지 지정할 수 있습니다.

주의

  • sum_range 인수의 각 셀은 해당 셀에 대해 지정한 상응하는 모든 조건이 True인 경우에만 더해집니다. 예를 들어 수식에 두 개의 criteria_range 인수가 포함된 경우, criteria_range1의 첫 번째 셀이 criteria1을 충족하고 criteria_range2의 첫 번째 셀이 critera2를 충족하면 sum_range의 첫 번째 셀이 합계에 더해집니다. 지정된 범위의 나머지 셀에 대해서도 같은 과정이 되풀이됩니다.
  • sum_range 인수에서 TRUE가 들어 있는 셀은 1로 평가되고, sum_range에서 FALSE가 들어 있는 셀은 0으로 평가됩니다.
  • SUMIF 함수의 range 및 criteria 인수와 달리 SUMIFS 함수의 각 criteria_range 인수는 포함된 행 및 열의 수가 sum_range 인수와 같아야 합니다.
  • 와일드카드 문자인 물음표(?)와 별표(*)를 조건에 사용할 수 있습니다. 물음표는 한 문자에 해당하고 별표는 모든 문자열에 해당합니다. 실제 물음표나 별표를 찾으려면 해당 문자 앞에 물결표(~)를 입력합니다.  


여기서 주의하실 점이 있습니다.
SUMIF함수의 구문은 다음과 같습니다
SUMIF(range, criteria, [sum_range])

SUMIFS 함수의 구문과 다른 점이 보이시나요?
SUMIF함수에서는 실제 합할 셀의 범위가 둘 중의 하나였습니다. 맨 뒤의 sum_range부분을 표시하면, 그 부분이 합계를 낼 부분이 되고, sum_range가 없으면 맨 앞의 range부분이 합계를 낼 부분이었습니다.

하지만, SUMIFS함수에서는 합계를 낼 범위가 반드시 맨 앞에 와야합니다. 이점 틀리기 쉬우니 주의하세요.



금전출납부를 간단하게 만들어 보았습니다. 지출중에서 주유비가 얼마나 나갔는지를 알기위해 F2열에 사용할 수식은 다음과 같습니다.

=SUMIFS($C$2:$C$13,$A$2:$A$13,E2,$B$2:$B$13,"주유")

 =SUMIFS  다음 조건들이 맞으면 합계를 냅니다  
 ($C$2:$C$13,  C2:C13의 범위에 있는 값을 합하되 다음의 조건이 모두 맞아야만 계산한다
 지출의 합계
 $A$2:$A$13, E2,  A2:A13의 범위중 셀값이 E2와 같고  시기가 3월이고
$B$2:$B$13,"주유")  B2:B13의 범위중 셀값이 "주유"라고 된 것  항목이 주유인것


참고로, 엑셀2003에서는 SUMIFS함수를 사용할 수 없으므로, 다음과 같이 SUMPRODUCT함수를 사용하여야 합니다.

=SUMPRODUCT(($C$2:$C$13)*($A$2:$A$13=E2)*($B$2:$B$13="주유"))




SUMIF함수와 마찬가지로, SUMIFS함수에서도 여러시트에 걸쳐 수식을 적용하지는 못합니다.


P.S. 연습문제입니다. 위의 금전출납부에서, 3월,4월의 회식비로 지출된 금액의 합계를 각각 구하려 합니다. 다음 그림의 노란색셀에 들어갈 수식을 댓글로 달아주세요.(3월의 수식을 아래로 끌어 채우기 했을때 4월의 결과값도 제대로 나올 수 있도록 상대참조,절대참조를 잘 생각해서 쓰세요)


제일 먼저 정답을 맞추시는 분에게 작은 선물(1회용커피믹스1개)을 드리겠습니다.^^;

2009/05/10 - [컴퓨터/엑셀] - 1일1함수 (30) SUM 함수 : 여러 시트의 합계내기
2009/05/11 - [컴퓨터/엑셀] - 1일1함수 (31) SUMIF함수 : 조건에 맞는 셀의 값을 더하기