엑셀 GROUPBY 함수는 데이터를 그룹화하여 집계된 요약 보고서를 반환하는 함수입니다.
=GROUPBY(행영역, 값영역, 함수, [머리글여부], [합계표시], [정렬순서], [필터배열], [필드관계])
- HSTACK 함수를 사용해 여러 필드로 그룹화 할 수 있습니다.
- HSTACK 함수로 여러 열을 지정하여 다중으로 집계할 수 있습니다.
- 기본값 : 자동 인식
- 0 : 머리글 없음
- 1 : 머리글 있음, 표시 안함
- 2 : 머리글 없음, 임시 생성
- 3 : 머리글 있음, 표시
- 기본값 : 총계 및 가능한 경우 부분합 표시
- 0 : 합계 없음
- 1 : 총계만 표시
- 2 : 총계 및 소계 표시
- -1 : 윗 부분에 총계
- -2 : 윗 부분에 총계 및 소계 표시
- 예) 2 : 두번째열 오름차순 정렬, -3 : 세번째열 내림차순 정렬
- 중괄호로 묶어 여러 기준으로 정렬할 수 있습니다.
예) {1,-2} → 첫번째열 오름차순, 두번째열 내림차순으로 정렬
- 0 : [기본값] 계층 구조를 지님
- 1 : 테이블 (계층 없음)
→ 테이블로 필드 관계 설정 시, 부분합은 사용할 수 없습니다.
엑셀 GROUPBY 함수는 데이터를 지정한 행 기준으로 그룹화하고 집계하야 피벗테이블과 유사한 요약 보고서를 생성하는 함수입니다. 기존 피벗테이블과 달리 단일 수식으로 동적인 요약 보고서를 만들 수 있어, 다양한 자동화 보고서 및 차트를 작성할 때 유용하게 사용할 수 있습니다. 또한 GROPUBY 함수는 원본 데이터가 변경되면 실시간으로 결과가 업데이트 됩니다.
=GROUPBY(지점범위,매출범위,SUM) / / 지점별 매출 합계가 정리된 보고서를 생성합니다.

GROUPBY 함수는 반환된 결과를 DROP 함수나 SORT 함수로 가공하거나, HSTACK 함수와 함께사용하여 다양한 형태의 동적 보고서를 만들 수 있습니다.
=GROUPBY(지점범위,매출범위,HSTACK(SUM,AVERAGE)) / / 지점별 매출의 합계와 평균을 동시에 집계합니다.

=DROP(GROUPBY(지점범위,매출범위,HSTACK(SUM,AVERAGE)),1) / / DROP 함수를 사용해 보고서의 머리글을 제거합니다.

다음과 같이 GROUPBY 함수를 사용하면 지점별 매출 요약 보고서를 만들 수 있습니다.
=GROUPBY(지점범위,매출액범위,SUM) / / 지점별 매출 합계를 집계합니다.

다음과 같이 GROUPBY 함수를 작성하면 카테고리별 제품의 매출 현황을 집계할 수 있습니다.
=GROUPBY(HSTACK(카테고리,제품명),매출액,SUM,,2) / / 카테고리별 제품의 매출 합계를 구하고 소계를 표시합니다.

다음과 같이 필드 관계를 테이블로 설정한 후, 정렬 순서를 지정하면 수준에 상관없이 매출액이 가장 높은 제품 기준으로 정렬할 수 있습니다.
=GROUPBY(HSTACK(카테고리,제품명),매출액,SUM,,,-3,,1) / / 매출이 가장 높은 제품 기준으로 내림차순 정렬합니다.

행영역, 값영역 및 필터배열의 길이는 반드시 동일해야 합니다. 범위의 길이가 다를 경우, 함수는 #VALUE! 오류를 반환합니다.
GROUPBY 함수는 결과로 분산 범위를 반환하므로, 출력 범위에 다른 데이터가 있으면 #분산!(#SPILL!) 오류가 출력됩니다.
집계 함수로는 SUM, AVERAGE, COUNT 등 단일 값만 사용할 수 있으며, 다른 집계 방식이 필요할 경우 LAMBDA 함수를 사용합니다.