Excel & IT Info

아이엑셀러 닷컴, 엑셀러TV

Excel

Excel에서 SUBTOTAL 대신 AGGREGATE를 사용하세요

권현욱(엑셀러) 2025. 9. 9. 17:00
반응형

들어가기 전에

엑셀에서 소계를 만들 때 많은 사람들이 Excel의 SUBTOTAL 함수를 사용합니다. AGGREGATE 함수를 사용하면 같은 결과를 더 유연하게 얻을 수 있으며 더욱 다양한 작업을 수행할 수 있습니다. AGGREGATE 함수의 기본 사용법과 SUBTOTAL 함수와 비교한 내용을 소개합니다.

권현욱(엑셀러) | 아이엑셀러 닷컴 대표 · Microsoft MVP · 엑셀 솔루션 프로바이더 · 작가

이미지: 아이엑셀러 닷컴


이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.

  • 원문: Don’t Use SUBTOTAL in Excel: Use AGGREGATE Instead
  • URL: https://www.howtogeek.com/microsoft-excel-function-dont-use-subtotal-use-aggregate/

SUBTOTAL 함수

Excel의 SUBTOTAL 함수는 사용하기 매우 간단합니다. 셀 범위에 대한 소계를 계산할 수 있으며, 수동으로 숨긴 행을 결과에 포함할지 여부를 결정할 수 있습니다.

 

하지만 필터링된 행은 항상 제외되며, 데이터에 오류가 있는 경우 SUBTOTAL 함수는 IFERROR 함수 내에 중첩하지 않는 한 작동하지 않습니다 . 게다가 SUBTOTAL은 11개의 함수만 지원하므로 더 복잡한 통계 계산을 수행하려는 경우에는 사용이 제한됩니다.

 

SUBTOTAL 함수의 사용 형식은 다음과 같습니다.

=SUBTOTAL(a, b, c)

 

  • a (필수): 계산에 사용하려는 함수를 나타내는 숫자
  • b (필수): 소계를 계산할 첫 번째 셀 범위
  • c (선택 사항): 최대 252개의 소계를 구할 범위 중 첫 번째 범위를 나타내며, 각 범위는 쉼표로 구분

 

인수 a 의 경우 1 또는 101 = AVERAGE, 2 또는 102 = COUNT, 3 또는 103 = COUNTA, 4 또는 104 = MAX, 5 또는 105 = MIN, 6 또는 106 = PRODUCT, 7 또는 107 = STDEV, 8 또는 108 = STDEV.P, 9 또는 109 = SUM, 10 또는 110 = VAR, 11 또는 111 = VARP입니다. 인수 a 의 숫자 1~11은 수동으로 숨겨진 행을 결과에 포함시키는 반면, 숫자 101~111은 수동으로 숨겨진 행을 제외합니다.

 

다음 예에서는 SUBTOTAL 함수를 사용하여 B열 값의 평균을 계산하고, 6행(E팀)은 숨겼습니다. E1 셀의 소계에는 숨겨진 행이 포함되지만(인수 a = 1), E2 셀의 소계에는 숨겨진 행이 포함되지 않습니다(인수 a = 101).

 

이미지: howtogeek

 

그러나 필터를 사용하여 팀 E의 점수를 숨기면 필터링된 값을 SUBTOTAL에 포함할 방법이 없으므로 두 소계가 모두 같아집니다.

 

이미지: howtogeek

 

다음 예에서는 SUBTOTAL 함수가 범위에 오류가 있으면 오류를 반환하는 것을 확인할 수 있습니다.

 

이미지: howtogeek

 

이러한 문제를 방지하려면 대신 AGGREGATE 함수를 사용하면 됩니다.

 

AGGREGATE 함수

AGGREGATE 함수는 SUBTOTAL 함수와 유사하지만, 만들려는 집계 유형에 대한 옵션이 더 많습니다. 또한 결과에서 제외할 수 있는 항목의 범위가 더 넓어지고, Excel에서 데이터 오류를 무시하도록 설정할 수 있습니다. 즉, SUBTOTAL 함수에 비해 AGGREGATE 함수는 더 강력하고 유연합니다.

AGGREGATE 함수에는 참조용 구문과 배열용 구문의 두 가지가 있습니다. Excel은 사용자가 입력한 인수에 따라 적절한 구문을 선택하므로 어떤 구문을 사용하는지 걱정할 필요가 없습니다.

 

AGGREGATE 함수의 사용 형식은 다음과 같습니다.

=AGGREGATE(a, b, c, d)

 

  • a (필수): 계산에 사용하려는 함수를 나타내는 숫자
  • b (필수): 계산에서 무시할 내용을 정의하는 숫자
  • c (필수): 함수가 적용될 셀 범위
  • d (선택 사항): 추가 범위를 지정하는 최대 252개의 인수 중 첫 번째

 

배열을 사용하는 경우 AGGREGATE 함수는 약간 다른 구문을 따릅니다.

 

  • a (필수): 계산에 사용하려는 함수를 나타내는 숫자
  • b (필수): 계산에서 무시할 내용을 정의하는 숫자
  • c (필수): 함수가 적용될 값의 배열
  • d: LARGE, SMALL, PERCENTILE.INC 등의 배열 함수에 필요한 두 번째 인수

 

SUBTOTAL과 AGGREGATE의 첫 번째 차이점은 후자가 인수 a 에 대해 더 많은 옵션을 제공한다는 것입니다.

 

  • 1: AVERAGE
  • 2 = COUNT
  • 3 = COUNTA
  • 4 = MAX
  • 5 = MIN
  • 6 = PRODUCT
  • 7 = STDEV.S
  • 8 = STDEV.P
  • 9 = SUM
  • 10 = VAR.S
  • 11 = VAR.P
  • 12 = MEDIAN
  • 13 = MODE.SNGL
  • 14 = LARGE
  • 15 = SMALL
  • 16 = PERCENTILE.INC
  • 17 = QUARTILE.INC
  • 18 = PERCENTILE.EXC
  • 19 = QUARTILE.EXC

AGGREGATE가 SUBTOTAL보다 실제로 뛰어난 점은 결과(인수 b )에서 특정 값을 제외할 수 있는 기능입니다.

숫자 무시되는 것
0 중첩된 SUBTOTAL 및 AGGREGATE 함수
1 숨겨진 행 및 중첩된 SUBTOTAL 및 AGGREGATE 함수
2 오류 및 중첩된 SUBTOTAL 및 AGGREGATE 함수
3 숨겨진 행, 오류 값, 중첩된 SUBTOTAL 및 AGGREGATE 함수
4 Nothing
5 숨겨진 행만
6 오류만
7 숨겨진 행 및 오류

 

그러면 실제로 어떻게 되는지 살펴보겠습니다. 이 예에서는 다음과 같은 수식을 입력합니다.

=AGGREGATE(1, 7, Team_Scores[Score])

 

E2 셀에 입력하면 열 B에 표시된 값의 평균(인수 a = 1)이 반환되고, 행 8에 있는 숨겨진 값과 행 7에 있는 오류(인수 b = 7)는 무시됩니다.

 

이미지: howtogeek

 

이 시나리오에서는 SUBTOTAL 함수만을 사용하여 동일한 결과를 얻을 수 없습니다. IFERROR 수식 내에 중첩되지 않고서는 오류를 무시할 수 없기 때문입니다.

오류를 무시하는 것이 스프레드시트를 더 깔끔하게 보이게 하는 좋은 방법이지만, 오류를 완전히 무시하는 습관에 빠지지 마세요! 오류는 존재하는 데에는 이유가 있으며 문제 해결에 도움이 될 수 있습니다. 반면에 다음 수식을 입력하세요.

=AGGREGATE(1, 6, Team_Scores[Score])

 

E3 셀에 입력하면 열 B의 모든 값의 평균(인수 a = 1)이 반환됩니다. 여기에는 필터링된 행 8의 값과 오류(인수 b = 6)가 포함됩니다.

 

이미지: howtogeek

 

SUBTOTAL에서는 이것이 불가능합니다. 결과에는 항상 필터링된 행이 포함되고, 데이터의 오류를 우회할 방법이 없기 때문입니다.

이번에는 셀 E3에서 AGGREGATE 함수를 사용하여 중앙값(인수 a = 12)을 생성합니다. 이는 SUBTOTAL 함수에서 허용하지 않는 여러 계산 중 하나입니다.

=AGGREGATE(12, 6, Team_Scores[Score])

 

이미지: howtogeek

 

마지막 예에서 인수 d는 두 번째로 큰 값을 생성하는 데 사용되었습니다.

=AGGREGATE(14, 6, Team_Scores[Score], 2)

 

이미지: howtogeek

 

요약: SUBTOTAL과 AGGREGATE 함수 비교

다음은 Excel의 SUBTOTAL과 AGGREGATE 함수에 대한 요약입니다.

특징 SUBTOTAL AGGREGATE
간단한 집계에 적합 Y Y
복잡한 통계 집계에 적합 N Y
지원되는 함수의 수 11 19
수동으로 숨겨진 행을 포함하거나 제외 가능 Y Y
필터링된 행을 포함하거나 제외 가능 N Y
오류 무시 가능 N Y
중첩된 SUBTOTAL 또는 AGGREGATE 결과 무시 가능 Y Y
배열 함수에 대한 추가 옵션 제공 N Y

 

마치며

자신의 필요에 맞는 함수를 찾았다고 생각하더라도 그보다 더 나은 기능을 제공하는 다른 함수가 있는지 항상 다시 한번 확인하세요. Microsoft는 종종 기존 함수를 업그레이드한 새로운 함수를 선보입니다. 예를 들어, VLOOKUP 대신 XLOOKUP, MATCH 대신 XMATCH 함수를 사용하면 더욱 편리합니다.