- 최초 작성일: 1999-10-18
- 최종 수정일: 2026-09-29
- 조회수: 24 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 누계와 절대주소 활용하기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
메일 하나(인터넷 뉴스그룹에서)
안녕하십니까? 엑셀 공부에 심취(?)해서 밤잠까지 설치고 있는 OOO라고 합니다.
엑셀로 일계와 누계를 구하려고 하는데 좀처럼 누계를 구할 방법이 없어서 이렇게 질문을 드리게 되었습니다.
한 시트에서 일계를 입력했을때...같은 시트의 누계 부분에 자동으로 누적되는 식을 작성할려고 하는데… 순환함수라는 메시지가 자꾸 뜹니다.
로터스에선...a2 셀에서 a1+a2 를 입력하면 a2셀에 값이 누적된다고 하던데 혹시 엑셀에서 이런 식의 누적을 구하는 방법이 있는지 누구 아시면 좀 알려 주세요.
누계와 절대주소 활용하기
핵심 요약
- 누계 범위의 시작 셀을 절대주소로 고정하고 끝 셀은 상대주소로 두면 아래로 복사하면서 누계를 계산할 수 있습니다.
- SUM 함수의 시작 주소를 고정하는 방식으로 순환참조 없이 일계에서 누계를 만들 수 있습니다.
- 여러 상품 계산에서 같은 할인율을 사용해야 할 때도 해당 셀을 절대주소로 지정하면 하나의 값으로 전체 결과를 제어할 수 있습니다.
안타까운 일이지요? 이런 정도의 문제로 이렇게 애타게 도움을 기다리고 있다니…
상대주소와 절대주소의 개념만 정립되어 있다면 쉽게 해결되겠지요? 아래와 같이 말입니다.
상대주소와 절대주소에 대한 개념설명은 오래 전에 한 것 같으니까 강좌 파일을 참조하세요.
| 일판매실적 | 누계실적 | |
| 100 | 100 | =SUM($B$22:B22) |
| 130 | 230 | =SUM($B$22:B23) |
| 150 | 380 | =SUM($B$22:B24) |
| 90 | 470 | =SUM($B$22:B25) |
| 110 | 580 | =SUM($B$22:B26) |
| 200 | 780 | =SUM($B$22:B27) |
| 70 | 850 | =SUM($B$22:B28) |
첫번째를 고정, 즉 절대주소로 지정을 해 준 후, 아래로 주~욱 공식을 복사해 주면 되는 것이지요.
개념을 조금 더 확장시켜 볼까요.
어느 대리점이 있는데 상품의 할인율에 따라 판매금액에 어떻게 변화하는지 simulation 해 보고 싶을 경우, 아래의 빨간 셀에 들어있는 할인율은 어느 셀에서나 모두 참조가 되도록 해야 할 것입니다.
할인율 5%
| 상품명 | 단가 | 수량 | 금액 | |
| 텔레비전 | 300,000 | 10 | 150,000 | =C42*D42*$C$39 |
| 냉장고 | 550,000 | 13 | 357,500 | =C43*D43*$C$39 |
| 세탁기 | 357,000 | 20 | 357,000 | =C44*D44*$C$39 |
| 전자레인지 | 230,000 | 50 | 575,000 | =C45*D45*$C$39 |
| 카메라 | 1,200,000 | 15 | 900,000 | =C46*D46*$C$39 |
참고: 예제의 수식 =C42*D42*$C$39는 단가와 수량의 곱에 5%를 곱한 값이므로, 계산 결과는 할인이 적용된 판매금액이 아니라 할인 금액입니다(텔레비전 150,000). 할인 후 판매금액을 구하려면 =C42*D42*(1-$C$39)로 계산해야 하며, 이 경우 텔레비전은 2,850,000이 됩니다. 절대주소로 공통 값을 참조하는 원리는 같습니다.
이해하시겠지요? 위에서 빨간 셀의 값을 바꾸면 자동으로 모든 것이 바뀌는 것이지요.
뭐 이런 쉬운 걸 설명하는데 이렇게 길게 설명을 한담? 하시는 분이 있으실지도 모르겠네요.
누차 강조하지만 쉽다고 쉬운 것이 아니고 어렵다고 어려운 것이 아닙니다. 쉬운 것을 확실하게 알고 있어야 어려운 것을 잘 풀수가 있습니다.
이번 강좌는 여기까지…
정리 — 누계와 절대주소 활용하기
| 구분 | 내용 |
|---|---|
| 문제 | 일계를 입력하면 같은 시트에서 누계가 자동으로 누적되게 하고 싶은데 순환 참조 메시지가 뜸 |
| 해결 | 누계 범위의 시작 셀을 절대주소로 고정하고 끝 셀은 상대주소로 둔 SUM 함수를 아래로 복사 |
| 공식 | =SUM($B$22:B22) |
| 결과 | 일 판매실적 100, 130, 150, 90, 110, 200, 70의 누계는 100, 230, 380, 470, 580, 780, 850 |
| 확장 | 할인율 셀을 절대주소로 지정해 모든 상품의 계산식에서 참조: =C42*D42*$C$39 |
| 효과 | 할인율 셀의 값만 바꾸면 모든 결과가 자동으로 바뀜 |
자주 묻는 질문 (FAQ)
Q1. 엑셀에서 누계는 어떻게 구하나요?
SUM 함수의 시작 셀을 절대주소로 고정하고 끝 셀을 상대주소로 지정한 뒤 아래로 복사합니다. 첫 행에 SUM 함수를 입력하고 복사하면 행마다 범위가 늘어나 누계가 계산됩니다.
Q2. 누계를 구할 때 순환 참조 메시지가 뜨는 이유는 무엇인가요?
누적하려는 셀이 자기 자신을 참조하는 식을 쓰면 순환 참조가 됩니다. 일계가 입력된 열을 범위로 지정하면 순환 없이 누계를 구할 수 있습니다.
Q3. 여러 계산식에서 같은 값을 참조하려면 어떻게 하나요?
공통으로 쓰는 셀, 예를 들어 할인율 셀을 절대주소로 지정하면 수식을 복사해도 같은 셀을 참조하며, 그 셀의 값을 바꾸면 모든 결과가 함께 바뀝니다.
마치며
누계나 공통 비율처럼 기준 셀이 고정되는 계산에는 절대주소를 활용해 보시기 바랍니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.