구글 스프레드시트 SUBTOTAL 함수 사용법: 필터 합계·숨긴 행·9와 109 차이
구글 스프레드시트에서 필터 뒤 화면에 남은 행만 합계하려면 =SUBTOTAL(109,C2:C6)을 사용합니다. SUM은 필터로 숨긴 행까지 계속 더하지만, SUBTOTAL은 보이는 범위에 맞춰 다시 계산합니다.
코드 9와 109는 필터에서는 같은 값을 내지만 행 번호 메뉴로 직접 숨긴 행에서는 다릅니다. 9는 수동으로 숨긴 행을 포함하고, 109는 제외합니다.
지역별 매출표를 기준으로 수식 범위, 필터 결과, 수동 숨김 차이, 함수 코드, #VALUE!와 중첩 부분합 복구 순서를 정리합니다.

먼저 고를 방식
- 필터로 제외된 행만 빼기: 코드 9 또는 109
- 필터와 수동 숨김 행을 모두 빼기: 코드 109
- 행을 숨기지 않고 여러 조건으로 합계: SUMIFS 다중 조건 합계
- 조건에 맞는 행을 다른 범위에 추출: FILTER 함수 사용법
SUBTOTAL은 언제 SUM 대신 쓰나요?
필터나 행 숨기기에 따라 화면에 보이는 값만 집계해야 할 때 SUBTOTAL을 씁니다. 합계뿐 아니라 평균, 개수, 최댓값처럼 선택한 집계 방식도 같은 구조로 바꿀 수 있습니다.
| 상황 | 추천 수식 | 숨긴 행 처리 |
|---|---|---|
| 필터와 무관한 전체 합계 | =SUM(C2:C6) | 모두 포함 |
| 필터 결과 합계 | =SUBTOTAL(9,C2:C6) | 필터 제외 행만 제외 |
| 현재 보이는 행 합계 | =SUBTOTAL(109,C2:C6) | 필터·수동 숨김 모두 제외 |
공유 문서에서 기본 필터를 쓰면 다른 편집자에게도 필터 상태가 보일 수 있습니다. 개인별 화면을 따로 유지해야 한다면 컴퓨터에서 필터 보기를 사용하는 편이 안전합니다.
기본 수식과 예제 범위는 어떻게 잡나요?
SUBTOTAL의 문법은 SUBTOTAL(함수_코드, 범위1, [범위2, ...])입니다. 합계를 구할 때 함수 코드는 9 또는 109이고, 숫자가 들어 있는 매출 범위만 지정합니다.
=SUBTOTAL(109,C2:C6)| 지역 | 주문번호 | 매출 |
|---|---|---|
| 서울 | A-101 | 120,000원 |
| 부산 | A-102 | 85,000원 |
| 서울 | A-103 | 63,000원 |
| 대구 | A-104 | 147,000원 |
| 서울 | A-105 | 95,000원 |
필터가 없으면 세 수식 모두 510,000원입니다. 지역을 서울만 보이게 바꾸면 SUM은 510,000원을 유지하지만 두 SUBTOTAL 수식은 278,000원으로 바뀝니다.
필터를 적용하면 합계가 어떻게 바뀌나요?
필터 조건으로 사라진 행은 함수 코드와 관계없이 SUBTOTAL에서 제외됩니다. 따라서 코드 9와 109는 서울 행 세 개만 더해 모두 278,000원을 반환합니다.

SUM이 바뀌지 않는 것은 오류가 아닙니다. SUM은 셀이 보이는지보다 지정된 범위의 값을 기준으로 계산하므로, 필터와 함께 움직이는 요약 셀에는 SUBTOTAL을 사용해야 합니다.
코드 9와 109는 언제 달라지나요?
행 번호를 선택한 뒤 직접 숨긴 행이 있을 때 두 코드가 갈립니다. 63,000원 행을 수동으로 숨기면 코드 9는 그 값을 포함해 510,000원을 유지하고, 코드 109는 제외해 447,000원을 반환합니다.

어떤 함수 코드를 넣어야 하나요?
앞의 숫자는 집계 방식과 수동 숨김 처리 여부를 함께 정합니다. 1~11은 수동 숨김 행을 포함하고, 101~111은 제외합니다.
| 집계 | 수동 숨김 포함 | 수동 숨김 제외 |
|---|---|---|
| AVERAGE | 1 | 101 |
| COUNT | 2 | 102 |
| COUNTA | 3 | 103 |
| MAX | 4 | 104 |
| MIN | 5 | 105 |
| PRODUCT | 6 | 106 |
| STDEV | 7 | 107 |
| STDEVP | 8 | 108 |
| SUM | 9 | 109 |
| VAR | 10 | 110 |
| VARP | 11 | 111 |
COUNT는 숫자가 든 셀만 세고, COUNTA는 비어 있지 않은 셀을 셉니다. 필터로 제외된 행은 어느 코드에서도 집계하지 않습니다.
#VALUE!·합계 불일치는 어떻게 고치나요?
=SUBTOTAL(12,C2:C6)처럼 허용 범위에 없는 코드를 넣으면 #VALUE!가 표시됩니다. 첫 번째 인수를 1~11 또는 101~111 가운데 필요한 집계 코드로 바꾸면 됩니다.
오류: =SUBTOTAL(12,C2:C6) → 복구: =SUBTOTAL(109,C2:C6)| 증상 | 먼저 확인 | 원인 | 복구 |
|---|---|---|---|
#VALUE! | 첫 번째 숫자 | 허용되지 않은 코드 | 9·109 등 유효 코드로 변경 |
| 행을 숨겨도 합계가 같음 | 코드가 9인지 확인 | 9는 수동 숨김 포함 | 109로 변경 |
| 필터 해제 뒤 값이 작음 | 다른 열의 필터 아이콘 | 필터 조건이 남아 있음 | 모든 열의 필터 조건 지우기 |
| 중간 부분합까지 두 번 더할까 걱정됨 | 범위 안 SUBTOTAL 셀 | SUBTOTAL은 중첩 호출을 제외 | 총계도 SUBTOTAL로 계산 |
C7에 =SUBTOTAL(9,C2:C6)이 있고 C8에서 =SUBTOTAL(9,C2:C7)을 계산해도 C7의 부분합은 다시 더하지 않습니다. 같은 범위에 SUM을 쓰면 중간 합계까지 포함할 수 있으므로 총계 셀도 SUBTOTAL로 맞추세요.
PC·Android·iPhone에서는 무엇이 다른가요?
SUBTOTAL 수식의 의미는 플랫폼에서 같고, 필터를 만드는 메뉴 위치와 필터 보기 지원 범위가 다릅니다.
| 환경 | 필터 사용 | 주의점 |
|---|---|---|
| PC 웹 | 데이터 → 필터 만들기 | 필터 보기 생성·저장 가능 |
| Android 앱 | 기본 필터 사용 가능 | 필터 보기는 컴퓨터에서만 제공 |
| iPhone·iPad 앱 | 기본 필터 사용 가능 | 필터 보기는 컴퓨터에서만 제공 |
모바일에서 결과만 확인할 문서라면 PC에서 109 수식과 필요한 필터를 먼저 구성해 두면 메뉴 차이로 생기는 실수를 줄일 수 있습니다.
공식 도움말과 관련 글
- Google Docs 편집기 고객센터: SUBTOTAL
- Google Sheets 데이터 정렬 및 필터링하기: 컴퓨터
- Google Sheets 데이터 정렬 및 필터링하기: Android
- Google Sheets 데이터 정렬 및 필터링하기: iPhone·iPad
- 구글 스프레드시트 SUMIFS 다중 조건·날짜 합계
- 구글 스프레드시트 FILTER 함수로 조건 행 추출
보이는 행만 합산하려면 109를 기본값으로 두고, 수동으로 숨긴 행도 합계에 남겨야 할 때만 9를 선택하면 됩니다. 필터로 숨긴 행은 어느 코드에서도 제외됩니다.