엑셀 SUBTOTAL 함수 완벽 정리
필터링된 데이터만 집계하기

SUBTOTAL 함수는 자동 필터가 적용된 범위에서 화면에 보이는 셀만 집계합니다. 일반 SUM·AVERAGE와 달리 필터로 숨겨진 행은 계산에서 제외되므로, 필터를 바꿀 때마다 결과가 자동으로 업데이트됩니다. 합계뿐 아니라 평균·개수·최대·최소 등 11가지 집계 방법을 하나의 함수로 처리할 수 있습니다.

기본 문법

=SUBTOTAL(function_num, ref1, [ref2], ...)
인수설명필수 여부
function_num사용할 집계 함수를 지정하는 번호 (1~11 또는 101~111)필수
ref1, ref2 ...집계 대상 범위 (최대 254개)필수 (ref1)

함수 번호 목록

function_num은 두 가지 범위로 구분됩니다.

번호 (1~11)번호 (101~111)해당 함수설명
1101AVERAGE평균
2102COUNT숫자 개수
3103COUNTA비어있지 않은 셀 개수
4104MAX최대값
5105MIN최소값
6106PRODUCT
7107STDEV표준편차 (표본)
8108STDEVP표준편차 (모집단)
9109SUM합계
10110VAR분산 (표본)
11111VARP분산 (모집단)
1~11 vs 101~111의 차이:
1~11: 필터로 숨겨진 행은 제외, 그러나 행 숨기기(수동)로 숨긴 행은 포함
101~111: 필터로 숨겨진 행과 수동으로 숨긴 행 모두 제외
대부분의 실무에서는 1~11번을 사용합니다.

기본 예제

예제 1: 필터 합계

수식: =SUBTOTAL(9, B2:B100)

결과: B2:B100에서 현재 필터에 보이는 셀만 합산

필터 조건을 바꾸면 합계가 자동으로 바뀝니다. SUM은 숨겨진 셀까지 모두 더하므로 필터 결과를 반영하지 못합니다.

예제 2: 필터 결과 행 개수 세기

수식: =SUBTOTAL(3, A2:A100)

결과: 필터 결과로 보이는 행 중 A열이 비어있지 않은 셀 수

전체 행 수 대신 현재 필터 결과의 행 수를 확인할 때 사용합니다.

실무 활용 — 요약 행 만들기

표 상단 또는 하단에 SUBTOTAL 함수로 요약 행을 만들어 두면, 자동 필터를 적용할 때 요약 값이 자동으로 갱신됩니다.

구성: A1(헤더), A2:A50(데이터), A51(합계)

A51 수식: =SUBTOTAL(9, A2:A50)

A1~A50에 자동 필터를 적용하고 조건을 바꾸면 A51의 합계가 보이는 행만 더한 값으로 자동 갱신됩니다.

엑셀 표(Table) 기능(삽입 > 표)을 사용하면 표 하단에 SUBTOTAL을 자동으로 적용한 요약 행을 간단히 추가할 수 있습니다.

SUBTOTAL vs SUM 비교

항목SUMSUBTOTAL(9, ...)
필터로 숨겨진 행포함하여 계산제외하여 계산
수동으로 숨긴 행포함1~11: 포함 / 101~111: 제외
중첩 SUBTOTAL 처리중복 포함 위험범위 내 다른 SUBTOTAL은 무시하여 이중 집계 방지
필터 연동미연동연동 (필터 적용 시 자동 업데이트)
SUBTOTAL은 범위 내에 다른 SUBTOTAL이 있으면 그 값을 무시합니다. 따라서 소계(부분합)와 합계를 함께 사용할 때 이중 집계가 발생하지 않습니다.

자주 묻는 질문

Q. SUBTOTAL과 AGGREGATE 함수의 차이는 무엇인가요?

AGGREGATE 함수는 SUBTOTAL보다 더 많은 집계 함수(19가지)를 지원하고, 오류 값 무시 등 추가 옵션이 있습니다. Excel 2010 이상에서 사용 가능합니다. 기본적인 필터 집계에는 SUBTOTAL로 충분합니다.

Q. 필터가 없어도 SUBTOTAL을 쓸 수 있나요?

네. 필터가 없는 상태에서는 모든 셀을 포함하여 집계하므로 SUM·AVERAGE와 동일한 결과를 반환합니다. 나중에 필터를 추가해도 수식을 바꿀 필요가 없다는 장점이 있습니다.

참고: Microsoft Excel 공식 함수 설명 (SUBTOTAL 함수)