• 최초 작성일: 2026-01-11
  • 최종 수정일: 2026-01-11
  • 조회수: 115 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 엑셀 SCAN 함수로 누적합계, 누적평균, 월별 누계 완벽 정리

들어가기 전에

데이터 분석의 기본 중 하나인 '누적 합계(Running Total)', 이제 더이상 단순한 SUM 수식에만 의존할 이유가 없습니다.

엑셀의 강력한 SCAN 함수를 사용하면 동적으로 누적 합계누적 평균을 구하고, 월이 바뀔 때마다 자동으로 초기화되도록 할 수 있습니다. 최신 버전이 없는 분들을 위해 사용자 지정 함수(UDF)로 동일한 기능을 구현하는 방법까지 정리했습니다(멤버십 회원용 VBA 코드).

작성자: 권현욱(엑셀러), 아이엑셀러 닷컴 대표

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

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


[하이라이트] 엑셀 실무에서 가장 많이 쓰는 누적합계 2가지 방법 (함수/표) 영상은 2026년 1월 11일(일) 오후 5시 공개됩니다. 멤버십 회원은 [풀 버전] 영상을 지금 바로 보실 수 있습니다.

엑셀 SCAN 함수로 누적합계, 누적평균, 월별 누계 완벽 정리

1. 누적이익 구하기

기존에 C열의 누적매출을 구하기 위해 일반 엑셀 범위에서는 IFISNUMBER 함수를 중첩하여 아래와 같은 수식을 사용했습니다.

C4: =IF(ISNUMBER(C4),SUM($C$4:C4),"")

참고 영상:

최신 동적 배열 함수인 SCAN 함수를 사용해서 해결할 수 있습니다. F열에 '누적이익' 금액을 구해보겠습니다.

F4: =SCAN(0,E4:E33,LAMBDA(a,b,a+b))

SCAN 함수는 initial_value, array, function 이렇게 3개의 인수를 갖습니다.

  • initial_value (초기값): 누적 합계의 시작점을 지정합니다. 0부터 시작하므로 0을 입력합니다.
  • array (배열): 누적 합계를 계산할 때 스캔할 범위를 지정합니다(E4:E33).
  • function (함수): 배열을 스캔하기 위해 사용하는 '사용자 정의 함수(LAMBDA)'를 지정합니다.

LAMBDA(a,b,a+b) 수식의 의미는 다음과 같습니다.

  • a: 현재까지의 총합계 (accumulator)
  • b: 현재 행의 수익 열 값
  • a+b: 기존의 a 값에 b를 계속 누적해서 더하라는 계산식입니다.

SCAN 함수를 사용하면 기존 데이터 구조가 변경되더라도(예: 중간에 행을 삽입하여 데이터를 추가하더라도) 기존 수식을 변경할 필요 없이 자동으로 업데이트된다는 강력한 장점이 있습니다.

2. 누적평균 구하기

단순한 누적 합계라면 기존 수식을 사용해도 큰 차이가 없을 수 있습니다. 이번에는 '누적평균'을 구해보겠습니다. 예를 들어 12/2일의 누적 평균은 1일과 2일 실적을 더해 2로 나누고, 12/3일은 1~3일 실적을 더해 3으로 나누는 방식입니다.

기존 방식 (SUM, ROW 활용)

H4: =SUM($C$4:C4)/(ROW(C4)-3)

SUM과 ROW 함수를 사용하여 직설적으로 표현한 수식입니다. 아래로 복사하면 결과는 구해지지만, 데이터 행만큼 수식을 복사해 넣어야 한다는 단점이 있습니다.

SCAN 함수 활용

I4: =SCAN(0,C4:C33,LAMBDA(a,b,a+b))/SEQUENCE(ROWS(C4:C33))

SCAN, LAMBDA, SEQUENCE, 그리고 ROWS 함수를 조합했습니다.

  • SCAN: 앞서 사용한 방식과 동일하게 누적 합계를 계산합니다.
  • SEQUENCE: 행 인덱스에 해당하는 1, 2, 3... 같은 숫자로 된 동적 리스트를 생성합니다. (예: 5번째 행이면 숫자 5 반환)

이 두 가지 결과값을 나누면 하나의 셀에 입력한 하나의 수식으로 누적평균이 한 번에 구해집니다.

3. 월별 누적매출 구하기 (월 변경 시 리셋)

일반적인 누적 매출은 아래와 같이 구하면 됩니다.

J4: =SCAN(0,C4:C33,LAMBDA(a,b,a+b))

하지만 데이터가 12월에서 1월로 넘어가는 경우처럼, 월이 바뀔 때 이전 누적값은 무시하고 새롭게 누적해야 할 필요가 있습니다. 기존 방식으로는 수동으로 수식을 끊어서 새로 작성해야 했습니다.

1월이 되면 리셋하는 수식

J4: =SCAN(0,SEQUENCE(ROWS(C4:C33)),
    LAMBDA(a,i,IF(MONTH(INDEX(B4:B33,i))=1,
    INDEX(C4:C33,i),a+INDEX(C4:C33,i)))
)

이 수식의 핵심 논리는 다음과 같습니다.

  • SCAN(0, SEQUENCE(ROWS(...)): 데이터 행 개수만큼(1~30) 번호표를 만들어 SCAN에 전달합니다. 이를 통해 '지금 몇 번째 행을 처리 중인지' 알 수 있습니다.
  • a: 주머니에 모인 돈(누적값), i: 현재 처리 중인 번호표(행 번호)입니다.
  • IF(MONTH(INDEX(B4:B33,i))=1 ...: INDEX 함수로 i번째 날짜를 확인하여 1월인지 조건 비교를 합니다.
  • 참(1월)이라면 기존 누적값(a)을 버리고 해당 월 매출로 리셋하고, 아니라면 기존 값(a)에 매출을 더해 계속 누적합니다.

하지만 이 수식은 완전하지 않습니다. 아래 수식을 사용하세요.

매월(월이 바뀔 때마다) 리셋하는 수식

만약 특정 월(1월)뿐만 아니라, 월이 바뀔 때마다 자동으로 값을 새로 누적하고 싶다면 아래 수식을 사용합니다.

=SCAN(0,SEQUENCE(ROWS(C4:C33)),LAMBDA(a,i,
    IF(i=1,INDEX(C4:C33,i),
        IF(MONTH(INDEX(B4:B33,i))<>MONTH(INDEX(B4:B33,i-1)),
        INDEX(C4:C33,i),
        a+INDEX(C4:C33,i)
        )
    ))
)

이전 행(i-1)과 현재 행(i)의 월(Month)이 같은지 비교하여 리셋 여부를 결정하는 방식입니다.

4. 사용자 지정 함수(모든 엑셀 버전)

SCAN 함수는 강력하지만 Office 365 등 최신 버전에서만 사용할 수 있습니다. 이를 해결하기 위해 모든 엑셀 버전에서 사용 가능한 VBA 사용자 지정 함수를 준비했습니다.

이 내용은 멤버십 회원 전용입니다

SCAN 함수를 사용할 수 없는 분들을 위한
VBA 월별누적 사용자 지정 함수 코드와 상세 적용 방법은
[풀 버전] 영상 및 예제 파일에서 확인하실 수 있습니다.

풀 버전 영상 보러 가기 (멤버십) 아직 회원이 아니신가요? (가입 안내)

자주 묻는 질문 (FAQ)

Q1. SCAN 함수는 어느 버전부터 사용할 수 있나요?

A. SCAN 함수는 Microsoft 365 (Office 365) 구독 버전 또는 Excel 2021 이상의 최신 버전에서 사용할 수 있습니다.

Q2. SCAN 함수를 쓸 수 없는 하위 버전에서는 어떻게 하나요?

A. VBA(매크로)를 사용하여 사용자 지정 함수를 만들면 동일한 기능을 구현할 수 있습니다. 본문 하단의 멤버십 전용 VBA 코드를 참고하세요.

Q3. 기존 SUM 함수 방식과 비교했을 때 장점은 무엇인가요?

A. 데이터가 추가되거나 중간에 삽입되어도 수식을 수정할 필요 없이 자동으로 배열이 확장되며, 복잡한 조건(월별 리셋 등)을 하나의 수식으로 처리할 수 있어 관리가 용이합니다.

마치며

누적 합계는 데이터의 흐름을 파악하는 데 중요한 지표입니다. 상황에 따라 SCAN 함수를 활용하거나, VBA 사용자 정의 함수를 활용하여 업무 효율을 높여보시기 바랍니다.

멤버십 회원이 되시면 강의에 사용된 예제 파일과 전체 코드를 다운로드하실 수 있습니다.

코파일럿 + 엑셀 업무자동화 정석
코파일럿 + 엑셀 업무자동화 정석
저자: 권현욱(엑셀러)
10% 19,800원 22,000원
챗GPT + 엑셀 업무자동화 정석
챗GPT + 엑셀 업무자동화 정석
저자: 권현욱(엑셀러)
10% 13,500원 15,000원
엑셀 VBA 파워 코딩의 정석
엑셀 VBA 파워 코딩의 정석
저자: 권현욱(엑셀러)
10% 22,500원 25,000원
엑셀의 정석
엑셀의 정석
저자: 권현욱(엑셀러)
10% 24,300원 27,000원
혜택 강의 도서 TOP