[엑셀/구글스프레드시트] 필터된 데이터로 계산하려면 subtotal 함수를

 

엑셀/ 구글스프레드시트 - 필터된 데이터로 계산하려면 subtotal 함수를 써보자

엑셀 혹은 구글스프레드시트를 쓰면서 많이 사용하는 기능 중, 필터 기능과 sum() 함수가 있다.

그런데, 이 두 기능을 함께 사용하면 원하는 결과를 얻지 못하는 상황이 발생한다.

 

예제

본 예제는 구글스프레드시트나 엑셀이나 동일하게 동작하며, 이 글에서는 구글스프레드시트로 테스트 하였다.

위와 같은 예가 있다고 가정하자.

그러면, 이 값들의 합을 구하려면

= sum(range)

의 형식을 사용하면 된다.

즉, 위와 같은 결과를 얻을 수 있다.

그런데, 이 상태에서 필터를 적용해서 계산해 보면 어떻게 될까?

위에서 보다시피, 식사 항목으로만 필터 조건을 걸었는데, 전체 입력 데이터를 대상으로 합이 계산되었다.

이 상황에서 내가 얻고 싶은 값은 오로지 식사 항목에 대한 값이다.

이 문제는 sum() 함수 대신 다른 함수로 해결해 보자.

 

반응형

 

subtotal 함수

글의 제목에도 소개한 바와 같이, 이 문제를 해결하는데 적절한 함수가 바로 subtotal 함수이다.

먼저 실제 적용한 예제들부터 살펴보자.

전체 입력 데이터중, 식사 비용만 걸러서 계산해 보았다.

다음으로는, 쇼핑 비용만 걸러서 계산해 보았다.

두 스크린 샷에서 볼 수 있다시피, sum 함수와 사용법은 거의 똑같다. 유일한 차이점이 있다면 중간에 9라는 숫자가 추가로 들어간 것 정도이다.

필터링한 데이터를 기준으로 합을 구하기 위해 사용한 함수는 아래와 같다.

= subtotal(9, range)

스크린샷에 써 있는 형식과 일치한다.

그러면, 저 9의 정체는 무엇일까?

 

subtotal에서 사용할 수 있는 기능 설명

이 표를 보자.

앞서 사용한 9번 기능이 SUM의 기능이다.

이 표를 참조하여, 내가 계산하고 싶은 함수를 바탕으로 subtotal을 구할 수 있다.

평균, 카운트, 최대값, 최소값, 표준편차, 합 등등을 편하게 계산해 보자.

 

더 보기

Designed by JB FACTORY