SUMIF에 대해.araboza

이전 글에서는 COUNTIF라는 ‘조건에 부합하면 세 주는’ 함수에 대해 배웠는데 SUMIF는 ‘조건에 부합하는 것만 합쳐주는’ 함수다. 예를 들어서 어떤 편의점에서 30대 여성이 구매한 가격의 총계를 구한다거나, 삼각김밥의 판매총계를 구한다거나…


가상의 강의 사이트를 이용하는 이용자 데이터이다. 여기서 언어는 자바, C++, 파이썬 세 개로 했고(자바스크립트는 와일트카드 쓸 때 자바랑 혼동될 위험이 있다), 난이도에 따라 수강료가 다르다. 여기서 중급 강의를 듣는 사람들의 수강료 총계는 얼마일까?

11만원이랜다. SUMIF는 COUTIF와 달리 입력 인자가 세 개인데, 중급 강의를 듣는 사람들의 수강료 총계를 구하기 위해서는 =SUMIF(D2:D12,”=중급”,E2:E12)를 쳤다. 가운데가 조건인 건 알텐데, 양 옆에 두개는 뭐죠? D2:D12는 우리가 조건에 부합하는지 찾을 줄, 그러니까 강의 난이도이다. 그리고 E2:E12는 합계를 구할 줄, 그러니까 수강료가 적혀있는 줄이다. 그러니까 쉽게 말하자면 SUMIF는 (여기서, 이 조건에 부합하는 걸 찾아서, 여기서 합계를 구해라)가 된다.

이번에는 자바 수강생들의 수강료를 와일드카드를 이용해 구해봤다. COUNTIF와 SUMIF는 조건 설정할 때 와일드카드로도 가능하그덩. =SUMIF(C2:C12,”=J*”,E2:E12)를 치면 그런데 짜잔! 자바 관련 강의를 듣는 사람들의 수강료 총계가 나온다.

이번에는 SUMIFS를 써보기 위해 데이터를 좀 추가했다. =SUMIFS(E2:E15,C2:C15,”P*”,D2:D15,”상급”)를 입력한건데, 이건 Python 상급 강의를 듣는 사람들의 수강료 총계를 표시해주는 것이다. SUMIF와 SUMIFS도 조건이 하나냐 여러개냐의 차이인데… 입력할 위치는 둘이 좀 다르다.

SUMIFS는 SUMIF와 달리 (여기서 합계를 구할건데, 여기서, 이 조건에 맞고, 여기서, 이 조건에 맞는거) 형식이 된다. 그래서 합계를 구할 셀이 가장 앞에 오고 그 뒤에 조건들이 따라붙는다. 물론 당연하게도, 여기서도 와일드카드가 통한다. 위에도 와일드카드 쓴거고.

이건 =SUMIFS(E2:E15,C2:C15,”Java”,D2:D15,”초급”)으로 자바 초급 강의를 듣는 사람들의 수강료 합계를 보여준 것이다. COUNTIF와 COUNTIFS, SUMIF와 SUMIFS는 IF와 IFS가 그러하듯 조건이 하나냐, 여러개냐에 따라 적절히 사용하면 월급타면서 똥 쌀 시간을 벌 수 있는 굉장히 유용한 함수이다. 내 수능칠때는 IFS는 없었는데 그때 있었으면 백퍼 나왔음 저거.