본문 바로가기
WORK

엑셀 SUBTOTAL 함수 사용법|필터 후 보이는 셀만 합계·개수 구하기

by ALIMORY 2026. 10. 5.

엑셀에서 주문 내역이나 실적표에 필터를 적용하면 특정 팀이나 제품에 해당하는 데이터만 골라 볼 수 있습니다.

그런데 A팀만 화면에 표시했는데도 합계는 전체 주문 금액으로 남아 있는 경우가 있습니다.

SUM 함수는 지정한 범위에서 필터로 숨겨진 행의 금액도 함께 더하기 때문입니다.

필터를 바꿀 때마다 현재 표시된 데이터의 합계와 건수를 확인하고 싶다면 SUBTOTAL 함수를 사용할 수 있습니다.

이번 글에서는 주문 내역을 예제로, 필터 후 보이는 행의 금액을 합산하고 주문 건수를 세는 방법을 알아보겠습니다. 함께 헷갈리기 쉬운 함수 번호 9와 109, 102와 103의 차이도 살펴보겠습니다.

※ 예제 수식은 Excel 2016과 Microsoft 365를 비롯한 이후 버전에서 사용할 수 있습니다.

1. SUBTOTAL 함수의 기본 구조

SUBTOTAL은 첫 번째 항목의 번호로 계산 종류를 선택하는 함수입니다.

기본 구조는 다음과 같습니다.

=SUBTOTAL(계산 방법을 지정하는 번호,계산할 범위)

이번 글에서는 다음 두 번호를 사용합니다.

함수 번호 계산 방법 예제 용도
109 합계 표시된 주문 금액 합산
103 비어 있지 않은 셀의 개수 표시된 주문 건수 확인

예를 들어 F3:F10의 주문 금액을 합산하려면 다음 수식을 입력합니다.

=SUBTOTAL(109,F3:F10)

109를 사용하면 필터로 제외된 행과 직접 숨긴 행을 빼고 계산합니다. Microsoft 공식 SUBTOTAL 함수 안내

2. 주문 내역과 집계표 준비하기

다음 주문 내역을 B2 셀부터 입력했다고 가정해 보겠습니다.

날짜 담당 제품 진행 상태 주문 금액
2026-08-03 A팀 제품 A 완료 850,000
2026-08-05 B팀 제품 B 진행 1,200,000
2026-08-07 A팀 제품 C 완료 1,500,000
2026-08-10 C팀 제품 A 완료 700,000
2026-08-13 B팀 제품 C 보류 950,000
2026-08-18 A팀 제품 B 진행 1,100,000
2026-08-21 C팀 제품 B 완료 1,350,000
2026-08-25 A팀 제품 A 완료 600,000

각 열의 위치는 다음과 같습니다.

  • B열: 날짜
  • C열: 담당
  • D열: 제품
  • E열: 진행 상태
  • F열: 주문 금액

2행은 제목 행이고, 실제 데이터는 3행부터 10행까지입니다.

계산 결과를 비교할 집계표는 H12:I15에 만듭니다.

셀 입력할 내용
H12 집계 항목
I12 결과
H13 전체 주문 금액
H14 표시된 주문 금액
H15 표시된 주문 건수

I13에는 전체 주문 금액을 계산하는 SUM 수식을 입력합니다.

=SUM(F3:F10)

I14에는 표시된 주문 금액을 계산하는 수식을 입력합니다.

=SUBTOTAL(109,F3:F10)

I15에는 표시된 주문 건수를 계산하는 수식을 입력합니다.

=SUBTOTAL(103,C3:C10)

이번 예제에서는 모든 주문에 담당 팀이 입력되어 있으므로 C열의 셀 개수로 주문 건수를 셀 수 있습니다.

필터를 적용하기 전에는 다음 결과가 표시됩니다.

집계 항목 결과
전체 주문 금액 8,250,000
표시된 주문 금액 8,250,000
표시된 주문 건수 8

필터 적용 전에는 전체 주문 금액과 표시된 주문 금액이 같습니다.

집계표를 데이터 아래쪽에 배치한 이유도 있습니다. 엑셀의 필터는 행 전체를 숨기므로, 데이터와 같은 행의 오른쪽에 집계표를 만들면 결과 셀까지 함께 가려질 수 있기 때문입니다.

3. A팀만 필터링해 합계 확인하기

이제 주문 내역에서 A팀만 표시해 보겠습니다.

  1. 제목 행을 포함한 B2:F10을 선택합니다.
  2. 상단 메뉴에서 데이터 → 필터를 선택합니다.
  3. C2 ‘담당’ 옆의 필터 화살표를 누릅니다.
  4. ‘모두 선택’을 해제하고 ‘A팀’만 선택한 뒤 확인합니다.

이렇게 조건에 맞는 행만 표시하는 방법은 Microsoft의 범위 또는 표의 데이터 필터링 안내에서도 확인할 수 있습니다.

A팀의 주문 금액은 다음 네 건입니다.

850,000 + 1,500,000 + 1,100,000 + 600,000

합계는 4,050,000원입니다.

집계표에서는 다음 차이를 확인할 수 있습니다.

집계 항목 결과
전체 주문 금액 8,250,000
표시된 주문 금액 4,050,000
표시된 주문 건수 4

A팀만 표시하면 SUM은 전체 금액을 유지하고, SUBTOTAL은 A팀의 금액과 건수를 보여줍니다.

I14의 수식은 수정하지 않았습니다.

=SUBTOTAL(109,F3:F10)

필터 조건을 B팀이나 C팀으로 바꾸면 같은 수식으로 해당 팀의 주문 금액을 확인할 수 있습니다.

4. 완료된 주문만 남겨 건수까지 확인하기

A팀 필터를 유지한 상태에서 진행 상태를 추가로 선택해 보겠습니다.

E2 ‘진행 상태’의 필터에서 ‘완료’만 선택합니다.

이제 화면에는 A팀의 주문 중 완료된 세 건만 남습니다.

날짜 담당 진행 상태 주문 금액
2026-08-03 A팀 완료 850,000
2026-08-07 A팀 완료 1,500,000
2026-08-25 A팀 완료 600,000

집계 결과는 다음과 같습니다.

집계 항목 결과
전체 주문 금액 8,250,000
표시된 주문 금액 2,950,000
표시된 주문 건수 3

‘A팀’과 ‘완료’ 조건을 함께 적용하면 주문 금액 2,950,000원, 주문 건수 3건이 표시됩니다.

I15의 수식은 다음과 같습니다.

=SUBTOTAL(103,C3:C10)

103은 문자도 개수에 포함하므로 ‘A팀’처럼 텍스트가 입력된 열에도 사용할 수 있습니다.

다만 주문 건수를 정확하게 세려면 모든 주문에 값이 입력된 열을 선택해야 합니다. 담당자가 빠진 주문이 있다면, 빈칸이 없는 주문번호 열을 기준으로 세는 편이 좋습니다.

5. 9와 109, 102와 103은 무엇이 다를까?

SUBTOTAL의 번호는 다음처럼 구분하면 이해하기 쉽습니다.

계산 방법 직접 숨긴 행 포함 직접 숨긴 행 제외
평균 1 101
숫자가 들어 있는 셀의 개수 2 102
비어 있지 않은 셀의 개수 3 103
합계 9 109

필터로 제외된 행은 어느 번호를 사용하더라도 계산에서 빠집니다. 9와 109의 차이는 행 번호를 선택한 뒤 ‘숨기기’로 직접 숨긴 행을 포함하는지에 있습니다.

화면에 표시된 행만 계산하려는 이번 예제에서는 109와 103을 사용하면 됩니다.

102와 103은 세는 대상이 다릅니다.

  • 102: 숫자가 들어 있는 셀을 셉니다.
  • 103: 문자 등을 포함해 비어 있지 않은 셀을 셉니다.

따라서 ‘A팀’, ‘B팀’이 입력된 C열에 102를 사용하면 이번 예제의 주문 건수를 구할 수 없습니다.

6. SUMIF·COUNTIF와 어떻게 구분해서 사용할까?

앞서 다룬 엑셀 SUMIF·COUNTIF 함수 사용법|조건에 맞는 합계와 개수 구하기에서는 수식에 조건을 지정해 계산했습니다.

예를 들어 A팀의 주문 금액을 구하는 수식은 다음과 같습니다.

=SUMIF(C3:C10,"A팀",F3:F10)

이 수식은 화면의 필터 상태와 관계없이 지정한 범위에서 A팀의 금액을 계산합니다.

반면 다음 수식은 현재 필터로 남겨 둔 행에 따라 결과가 바뀝니다.

=SUBTOTAL(109,F3:F10)

어떤 결과가 필요한지에 따라 선택하면 됩니다.

필요한 작업 사용할 함수
수식에서 지정한 팀의 금액 계산 SUMIF
수식에서 지정한 상태의 건수 계산 COUNTIF
팀·상태 등 여러 조건을 수식에 지정 SUMIFS·COUNTIFS
필터를 바꾸면서 표시된 금액과 건수 확인 SUBTOTAL

담당별 합계를 항상 나란히 보여주는 보고서라면 조건별 집계 함수가 편리합니다. 하나의 주문표에서 필터를 바꿔가며 확인한다면 SUBTOTAL을 활용할 수 있습니다.

7. 계산 결과가 예상과 다를 때 확인할 것

제목 행과 집계 셀을 범위에 넣지 않았는지 확인하기

주문 건수를 셀 때 C2의 ‘담당’까지 포함하면 제목도 한 건으로 계산됩니다.

이번 예제의 데이터 범위는 C3:C10입니다.

=SUBTOTAL(103,C3:C10)

또한 합계 수식이 들어 있는 셀 자체를 계산 범위에 포함하지 않도록 주의합니다.

금액이 숫자로 입력되어 있는지 확인하기

주문 금액에 850000원처럼 단위까지 직접 입력하면 문자로 저장됩니다.

금액은 850000처럼 숫자로 입력하고, 쉼표나 통화 표시는 셀 서식으로 적용하는 것이 좋습니다.

빈칸처럼 보이는 수식이 있는지 확인하기

103은 COUNTA 방식으로 셀을 셉니다. 따라서 수식 결과가 ""인 셀도 개수에 포함될 수 있습니다.

앞서 IFERROR(엑셀 IFERROR 함수 사용법)로 오류를 빈칸처럼 표시했더라도 그 셀이 실제로 비어 있는 것은 아닙니다. 건수를 셀 때는 가급적 원본 주문번호나 담당 열을 사용하세요. Microsoft 공식 COUNTA 함수 안내

새 주문이 계산 범위에 포함되어 있는지 확인하기

이번 수식의 범위는 10행까지입니다.

11행부터 새 주문을 추가했다면 필터 범위와 계산 범위에 새 데이터가 포함되어 있는지도 확인해야 합니다.

열 숨기기와 행 숨기기를 구분하기

SUBTOTAL은 이번 예제처럼 세로로 쌓인 데이터를 계산하는 데 적합합니다.

가로 범위에서 특정 열을 숨겼다고 해서 109가 해당 열을 자동으로 제외하는 것은 아닙니다.

필요한 결과에 맞춰 필터와 수식을 함께 사용하기

이번 예제에서는 집계 수식을 한 번 만든 뒤 필터만 바꿨습니다.

전체 주문을 볼 때는 8,250,000원·8건, A팀만 볼 때는 4,050,000원·4건, A팀의 완료 주문만 볼 때는 2,950,000원·3건이 표시되었습니다.

기억할 수식은 두 가지입니다.

표시된 주문 금액 합계:

=SUBTOTAL(109,F3:F10)

표시된 주문 건수:

=SUBTOTAL(103,C3:C10)

팀별 실적, 제품별 주문, 진행 상태별 업무처럼 필터를 자주 바꾸는 자료에 집계표를 붙여 두면 필요한 금액과 건수를 함께 확인할 수 있습니다.

다음 글에서는 피벗테이블로 담당별·제품별 실적을 한눈에 정리하는 방법을 알아보겠습니다.