엑셀 순환 참조와 반복 계산 설정 총정리
수식이 자기 자신이나 서로를 참조하면 순환 참조가 됩니다. [수식] - [오류 검사]에서 위치를 찾을 수 있고, 의도한 경우에만 반복 계산을 켜서 씁니다.
수식을 입력했더니 "순환 참조" 경고가 뜨고 결과가 0으로 남는 경우가 있습니다. 계산이 끝나지 않고 자기 자신으로 되돌아오는 구조라서 생기는 일입니다.
어떤 때 생기나요
① 수식이 자기 자신을 참조할 때
A1셀에 =A1+1 을 넣으면 A1 을 구하려면 A1 이 필요하고, 그 A1 을 구하려면 다시 A1 이 필요합니다. 끝이 없습니다.

② 두 수식이 서로를 참조할 때
A1 에 =B1+1 을 넣은 뒤 B1 에 =A1+1 을 넣으면, 둘이 서로를 기다리는 상태가 됩니다.



왜 오류로 처리하나요
순환 참조 자체가 잘못된 개념은 아닙니다. 수학의 점화식처럼 의도한 반복이라면 정상적인 계산 방식입니다.
다만 엑셀은 기본적으로 이를 막습니다. 끝없이 도는 계산이 파일 전체의 처리 속도를 떨어뜨리기 때문입니다. 순환 참조가 생기면 해당 셀은 0 또는 마지막 값을 유지한 채 더 계산되지 않고, 경고는 시트에 여러 개가 있어도 한 번만 표시됩니다.
순환 참조가 생긴 셀 찾기

여기서 보이는 것은 현재 걸려 있는 순환 참조 하나에 대한 목록입니다. 여러 곳에서 발생했다면 하나씩 고칠 때마다 다음 것이 나타납니다.
반복 계산 켜기 — 의도한 경우에만
엑셀은 반복 계산이 기본으로 꺼져 있습니다. 순환 참조가 꼭 필요한 구조라면 켤 수 있지만, 가능하면 VBA 로 처리하는 편을 권합니다. 반복 계산은 파일 전체에 적용되어 의도치 않은 순환 참조까지 조용히 통과시키기 때문입니다.
- [파일] - [옵션] 으로 이동합니다.

[파일] - [옵션]으로 이동합니다. - [수식] 탭의 [계산 옵션] 에서 '반복 계산 사용' 을 체크합니다.

[계산 옵션]에서 '반복 계산 사용'을 켭니다.
함께 지정하는 값이 둘 있습니다. 기본값 그대로 두어도 대부분 문제없습니다.
| 항목 | 의미 | 기본값 |
|---|---|---|
| 최대 반복 횟수 | 몇 번까지 되풀이해 계산할지 | 100 |
| 변화 한도값 | 계산 결과의 차이가 이보다 작아지면 멈춤 | 0.001 |
즉 기본 설정에서는 100번을 돌거나, 앞뒤 결과의 차이가 0.001 보다 작아지면 계산을 멈춥니다.
A 값 = 5 (5의 배수 중 최소 값)가 되면 순환이 멈추고
결과값 A=5, B= 6, C= 7 되려면 어떻게 해야 될까요?
말씀하신 상황은 계산 논리에 어긋납니다.
C=A+1이고, B=C+1 이면서 A = B+1이라는 말은
B=C+1 -> B=(A+1)+1 -> B= A+2 이고, 이는 A = B+1과 대조되어 논리가 어긋납니다. 다시 확인해보시길 바랍니다.
감사합니다.