본문 바로가기
엑셀

[엑셀] 특정 조건에 맞는 셀들의 합 구하기 (sumif, 배열수식)

by LightBlogger 2016. 9. 5.

다음과 같은 자료에서 분류가 A인 것들의 합만 구해야 한다면



sumif()를 사용하면 된다.



sumif()는 sumif(조건을 판단할 셀, 조건, 합산할 셀)과 같이 지정한다.



또는, 아래와 같은 '배열수식'을 사용해도 된다.


뒤에서 보겠지만, 배열수식은 특정 조건의 합 외에도 다양한 값을 반환하므로


알아두면 유용하게 사용할 수 있다.



배열수식은 특이하게, 입력 후 그냥 Enter가 아니라 Ctrl + Shift + Enter 를 눌러야 제대로 입력된다.



일단 안에 들어 있는 IF(B:B="A",C:C) 부분은 


B열의 값이 "A"인 행들의 C열 데이터를 가지고 별도의 집합(혹은 배열, 혹은 벡터)을 만들어라


라는 의미다.



엑셀에서 흔히 쓰던 if(조건, 맞으면, 틀리면) 과는 조금 용법이 다르다. 그래서 Ctrl + Shift + Enter 를 해야 엑셀이 제대로 알아 듣는 것.



그 다음 SUM은 


그렇게 만든 집합의 합을 구해라


라는 의미다. 



즉, 아래 두 과정을 하나로 합쳤다고 보면 되겠다.



반가운 if(조건, 맞으면, 틀리면) 다. B열의 값이 A면 C열의 값을 반환하고, 아니면 가만히 있으라는 수식이다.


아래까지 복사해 주면 (1, 7, 3, 0) 만 표시된다.



이와 같은 두 과정을 하나로 묶은 것이 =sum(if(B:B="A",C:C)) 이다.


A, B, C의 합을 각각 알아보고 싶다면 다음과 같이 하면 좋다.



아까와 동일하나 B:B="A"로 직접 값을 입력해 주는 대신 E3를 입력해 주고 아래로 복사하였다. 


Ctrl + Shift + Enter를 잊지 말자.



참고로 Ctrl + Shift + Enter를 잘 입력하면 수식에 자동으로 { } 가 붙는다.


직접 { } 를 입력해야 하는 것이 아니므로 헛갈리지 말자.



sumif()는 합만 구할 수 있는 반면, 


배열수식은 보다 다양하게 활용할 수 있다.


예를 들어 분류가 C인 것들 중 가장 작은 값은?



분류가 B인 것들 중 두 번째로 큰 값은?



값이 5 이상인 것들의 합은?



분류가 B가 아닌 것들의 합은?





두 가지 이상의 조건을 만족하는 셀들의 합을 구해야 한다면


2017/07/13 - [엑셀] - [엑셀] 배열수식에 여러 개의 조건 사용하기 를 참고하자.




반응형

댓글