- 최초 작성일: 1999-09-15
- 최종 수정일: 2026-09-29
- 조회수: 20 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 순환참조에 대하여
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
어떤 파일을 열거나 수식을 입력했는데 "순환참조가 어쩌구 저쩌구…" 하면 가슴이 철렁하지요?
해결을 해야 겠지요?
순환참조는 일종의 에러일 수도 있으나 어떤 특수한 상황 하에서는 문제를 해결하는 실마리가 되기도 합니다.
순환참조에 대하여
핵심 요약
- 순환참조는 수식이 서로를 다시 참조할 때 발생하며, 잘못된 셀 주소 때문에 생길 수 있습니다.
- 상여금과 순이익처럼 서로 영향을 주는 계산에서는 의도적으로 순환참조가 필요한 경우도 있습니다.
- 도구-옵션의 계산 설정에서 반복 계산을 켜고 최대 반복 횟수를 지정하면 이런 계산을 처리할 수 있습니다.
(1) 셀 주소를 실수로 잘못 넣어서 발생하는 경우
아래와 같은 경우, 수식이 들어간 두개의 셀이 서로가 서로를 참조하고 있지요?
| #NUM! | =F11*10 | #NUM! | =C11-10 |
이런 수식을 입력하면 컴퓨터(엑셀)가 제대로 이해를 못하므로 순환참조라는 에러 메시지를 화면에 내보내면서 화면밑 부분의 상태표시줄에 어느 셀에서 순환참조가 발생하였는지 표시를 합니다.
(2) 순환참조가 반드시 필요한 경우
그러나 아래와 같은 경우에는 순환참조가 반드시 필요합니다.
상여금을 순이익의 10%만큼 지급한다. "순이익 = 총이익 - 상여금"이다. 즉,
| 총이익 | 100,000 | ||
| 순이익 | 90909.0909090909 | = 총이익 - 상여금 | |
| 상여금 | 9090.9090909091 | = 순이익 * 10% |
(2)와 같은 경우에 의도적으로 순환참조를 발생시켜 해결책을 구하는 것입니다.
사용 방법
참고: 도구-옵션-계산 메뉴는 구버전 메뉴입니다. 최신 Excel에서는 파일 - 옵션 - 수식에서 반복 계산 사용을 체크하고 최대 반복 횟수를 지정합니다.
(1) 먼저, "도구-옵션-계산"을 선택합니다
(2) 반복계산 항목을 체크하고 최대 반복 횟수를 100으로 합니다(조절 가능함)
(3) 이와 같이 설정하고 순환참조 셀의 내용변화를 살펴보시기 바랍니다.
여기서 최대 반복 횟수 항목을 100으로 한다는 것은 100회를 참조계산하고 계산을 끝낸다는 의미입니다.
오늘은 여기까지
정리 — 순환참조에 대하여
| 구분 | 내용 |
|---|---|
| 원인 1 | 셀 주소를 잘못 넣어 두 셀이 서로를 참조하면 순환참조 메시지가 나타남 |
| 표시 | 화면 아래 상태표시줄에 순환참조가 발생한 셀이 표시됨 |
| 필요한 경우 | 상여금은 순이익의 10퍼센트이고 순이익은 총이익에서 상여금을 뺀 값인 경우 |
| 설정 | 계산 옵션에서 반복계산을 체크하고 최대 반복 횟수를 100으로 지정 |
| 동작 | 지정한 횟수만큼 참조 계산을 반복한 뒤 계산을 끝냄 |
자주 묻는 질문 (FAQ)
Q1. 순환참조는 왜 발생하나요?
수식이 들어간 두 셀이 서로가 서로를 참조하는 것처럼 셀 주소를 실수로 잘못 넣으면 발생합니다.
Q2. 순환참조가 필요한 경우도 있나요?
있습니다. 상여금을 순이익의 10퍼센트로 지급하고 순이익은 총이익에서 상여금을 뺀 값인 경우처럼 두 값이 서로 영향을 주는 계산이 그렇습니다.
Q3. 순환참조를 계산하려면 어떻게 설정하나요?
계산 옵션에서 반복계산 항목을 체크하고 최대 반복 횟수를 100처럼 지정합니다. 지정한 횟수만큼 계산한 뒤 끝납니다.
마치며
순환참조 메시지가 나타나면 먼저 셀 주소 실수를 확인하고, 의도한 계산이라면 반복계산을 설정해 보시기 바랍니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.