• 최초 작성일: 2010-08-26
  • 최종 수정일: 2026-09-24
  • 조회수: 19 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 엑셀 2010의 Aggregate 함수에 대하여

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

강좌가 많이 늦었습니다. 노느라고 그런 것은 아니고, 홈 페이지를 자주 찾아주신 분들은 아시겠지만 트위터 강좌를 틈틈히 올리고 있었습니다. 개인적인 일도 좀 있었고요.

하여튼, 이제 새로운 마음으로 힘을 내서 엑셀, 그리고 VBA 강좌를 진행해 보려 합니다.

참, 아직 "트위터"를 시작하지 않은 분이 계시다면 다음 강좌들을 참고로 얼른 시작하세요.

Exceller의 강좌(엑셀이든 트위터든) 보고 트위터 친구 신청(Following) 했다고 알려주시면 최대한 신속하게 응해 드리겠습니다. ^^

강좌를 찬찬히 읽어보고 계정 만들기가 여의치 않은 분들을 위해… 아예 문 앞까지 모셔다 드리죠. 아래 링크를 클릭하세요(참 친절도 하다!!!).

본론으로 들어가서…

엑셀 2010 버전이 나온 지도 꽤 지났습니다. 앞으로는 강좌 파일의 포맷을 바꾸고자 합니다. 지금까지는 이전 버전과의 호환성(Compatibility)을 위해 엑셀 2003 버전(xls)을 기준으로 작성하였는데 다음 시간부터는 엑셀 2007(xlsx) 버전에 맞춰 진행하려고 합니다.

엑셀 2003 혹은 그 이전 버전을 사용하시는 분들은 Microsoft 사이트나 네이버 포털 사이트에서 엑셀 뷰어를 내려 받아 설치하시면 강좌의 내용을 보실 수 있습니다. 에라… 내친 김에 이것까지 알려드리지요. 아래 사이트에서 뷰어를 내려받으세요!

엑셀 2010 버전으로 넘어오면서 기능이 향상된 함수는 60여 가지도 넘는 것 같습니다(그렇게나 많이?).

하지만 희망적인 사실 하나! 대부분의 함수는 기존 함수의 알고리즘이나 정확도를 향상한 것이고, 실제로 새로 추가된 함수는 3개 정도 있는 것 같습니다(제가 잘 모를 수도 있으니, 혹시 이것 외에 더 알고 있는 분은 알려주세요).

  • Aggregate
  • Networkdays.intl
  • Workday.intl

오늘은 이 중에서 Aggregate 함수에 대해 소개해 드리겠습니다.

Aggregate 함수는 그 이름으로도 짐작할 수 있듯이, 몇 가지 함수의 기능을 합쳐놓은 듯한 역할을 수행합니다.

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 지음

📊 신간 전자책(PDF) · 287쪽 · 13500원

엑셀 대시보드를 만드는 최적의 '표준 3계층 구조'

  • 3초 안에 읽히는 화면 설계 감각 습득
  • Microsoft Excel MVP의 실전 노하우 수록
  • 중간마진 없는 합리적인 가격, 오직 아이엑셀러에서만!
지금 구매하기 완성 화면 보기

엑셀 2010의 Aggregate 함수에 대하여

핵심 요약: 오류값을 무시하고 계산하는 AGGREGATE

=AGGREGATE(9,2,범위)처럼 함수 번호와 무시할 대상 옵션을 지정하면, 오류값이 섞여 있어도 합계·평균 등을 바로 구할 수 있습니다. 이전 버전은 IFERROR 배열 수식으로 대체합니다.

  • 엑셀 2010: =AGGREGATE(9,2,범위) — 9=SUM, 2=오류 값 무시
  • 엑셀 2007: =SUM(IFERROR(범위,"")) 배열 수식
  • 엑셀 2007 이전: =SUM(IF(ISERROR(범위),"",범위)) 배열 수식

먼 소리냐 하면... 아래와 같은 표가 있다고 하죠.

이름 개수
오징어87
꼴뚜기81
문어#N/A
넙치69
도다리78
광어91
우럭82
합계#N/A

중간에 유효하지 않은 자료가 있을 경우, 합계는 물론이고 평균이나 최대/최소값, Large나 Small 함수 등을 사용할 수 없습니다.

이럴 때 Aggregate 함수를 사용하면 오류가 무시되기 때문에 이들 함수의 결과값을 구할 수 있습니다.

이름 개수
오징어87
꼴뚜기81
문어#N/A
넙치69
도다리78
광어91
우럭82
합계488

C85 셀(노란색 셀)에는 이런 수식이 들어 있습니다.

=AGGREGATE(9,2,C78:C84)

결과값을 구하려는 셀로 이동한 다음, "=aggregate("라고 입력하면(인용부호는 빼고…) 다음과 같은 팝업 메뉴가 나타납니다. 보시는 것처럼, 사용할 함수의 종류를 지정합니다.

AGGREGATE 함수 입력 시 나타나는 함수 번호 목록 팝업 - 1 AVERAGE부터 12 MEDIAN까지
아이엑셀러

합계를 구할 것이므로 '9'와 콤마를 입력하면(즉, "=aggregate(9,") 어떤 값을 무시하고 계산할 것인지를 지정하는 팝업 상자가 나타납니다. 여기서는 '2'를 선택합니다.

AGGREGATE 함수의 옵션 번호 목록 팝업 - 오류 값을 무시하는 2번 옵션이 선택된 화면
아이엑셀러

끝으로, 계산할 범위를 지정하여 수식을 완성합니다.

그러면, 엑셀 2010 이전 버전에서는 어떻게 해야 하나요? 라고 질문하고 싶으셨지요?

엑셀 2007 버전에서 새로이 추가된 Iferror 함수를 사용하여 다음과 같은 배열 수식을 사용하시면 됩니다.

=SUM(IFERROR(C78:C84,""))

아니 그러면, 엑셀 2007 이전 버전에서는 어떻게 해욧!!!

성미도 급하셔라~ 다 준비를 해 뒀죠. 다음과 같이 하시면 됩니다. 역시나 배열 수식이므로 <Ctrl+Shift+Enter>키를 함께 눌러 마무리!!

=SUM(IF(ISERROR(C78:C84),"",C78:C84))

나머지 자세한 사항은 도움말을 확인하세요.

오늘은 여기까지…

정리 — 버전별 오류값 무시 합계 구하기

버전 수식
엑셀 2010 이상 =AGGREGATE(9,2,C78:C84)
엑셀 2007 =SUM(IFERROR(C78:C84,"")) (배열 수식)
엑셀 2007 이전 =SUM(IF(ISERROR(C78:C84),"",C78:C84)) (배열 수식)

자주 묻는 질문 (FAQ)

Q1. AGGREGATE 함수는 무엇을 하는 함수인가요?

SUM, AVERAGE, MAX, LARGE 등 여러 통계 함수의 기능을 하나로 통합하면서, 오류값이나 숨겨진 행을 무시할지 여부까지 함께 지정할 수 있는 함수입니다. 엑셀 2010에서 새로 추가되었습니다.

Q2. AGGREGATE(9,2,범위)에서 9와 2는 각각 무엇을 뜻하나요?

첫 번째 인수 9는 사용할 함수(9=SUM, 합계)를 가리키고, 두 번째 인수 2는 계산에서 무시할 대상(2=오류 값 무시)을 가리킵니다. 두 인수 모두 수식 입력 중 나타나는 팝업 목록에서 번호를 선택할 수 있습니다.

Q3. 엑셀 2010 이전 버전에서는 오류값을 무시하고 합계를 구할 수 없나요?

구할 수 있습니다. 엑셀 2007이라면 =SUM(IFERROR(범위,""))을, 그 이전 버전이라면 =SUM(IF(ISERROR(범위),"",범위))를 배열 수식(Ctrl+Shift+Enter)으로 입력하면 AGGREGATE와 같은 결과를 얻을 수 있습니다.

마치며

VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.