엑셀 순환참조란? 엑셀 순환참조 오류 해결 방법 1분 끝내기

이번 포스팅에서는 엑셀 순환참조란 무엇인지 알아보고 엑셀 순환참조 오류 해결 방법에 대해 정리해보았습니다.

엑셀은 데이터 관리, 계산, 분석 등을 위해 전 세계적으로 널리 사용되는 스프레드시트 프로그램입니다. 데이터를 조직화하고 계산을 수행하는 방법을 제공하며, 이런 기능들은 학교나 회사에서 엑셀이 업무를 보거나 학습 연구 목적 또는 개인 데이터 관리 등에서 두루 사용되는 도구가 되었습니다. 그러나, 이런 엑셀의 강력한 기능들 중에서도, 특히 셀 간의 ‘참조’ 기능은 엑셀 사용의 핵심이자, 동시에 가끔 사용자를 혼란스럽게 만드는 원인이기도 합니다. 그 중에서도 ‘엑셀 순환참조’ 오류는 이런 혼란을 주는 대표적인 예시입니다.

‘엑셀 순환참조’라는 용어가 낯설게 느껴질 수도 있지만, 그 원리를 이해하면 그리 어렵지 않습니다. ‘참조’라는 개념을 먼저 이해하면 도움이 될 것입니다. 앞선 포스팅에서 엑셀 절대참조와 상대참조, 혼합참조에 대해서 정리한 바와 같이,

엑셀에서는 한 셀의 값을 다른 셀의 값에 따라 계산하도록 설정할 수 있는데, 이것이 바로 ‘참조’입니다. 예를 들어, A1 셀에 10이라는 값을 입력하고, B1 셀에 ‘=A1*2’라는 수식을 입력하면, B1 셀의 값은 A1 셀의 값인 10에 2를 곱한 20이 됩니다. 이런 식으로 엑셀에서는 셀 간 참조를 통해 복잡한 계산을 수행할 수 있습니다.

그러나 이런 참조 기능이 복잡하게 얽히게 되면 문제가 발생할 수 있습니다. 그 중에서도 ‘순환참조’는 특히나 주의가 필요한 오류입니다. ‘엑셀 순환참조’는 이름에서 알 수 있듯이, 참조 관계가 순환 구조를 이루는 것을 말합니다. 간단히 말해, 한 셀이 자기 자신을 직접 혹은 간접적으로 참조하는 경우를 말합니다.

이번 포스팅에서는 엑셀 순환참조란 무엇인지 알아보고, 엑셀 순환참조 오류 해결법에 대해 정리해보았습니다.


엑셀 순환참조란?

순환참조는 엑셀에서 흔히 발생하는 문제 중 하나로, 간단하게 말하자면 한 셀의 계산 결과가 자기 자신을 기반으로 할 때 발생하는 문제입니다. 다시 말해, 순환참조는 셀이 직접 혹은 간접적으로 자기 자신을 참조하는 경우를 말합니다. 이것을 이해하기 위해서는 엑셀이 어떻게 연산을 처리하는지 알아야 합니다.

엑셀은 연산의 기본 원칙을 따릅니다: 셀에 입력된 수식이 다른 셀을 참조할 때, 그 셀의 값을 사용하여 계산을 수행합니다. 그런데 문제는 이 참조되는 셀이 만약 자신을 참조하는 셀의 결과값에 의존하는 경우, 즉 순환참조가 발생하는 경우입니다. 이렇게 되면 엑셀은 계산을 어디서 시작하고 어디에서 끝내야 할지 모르게 됩니다.


직접적인 엑셀 순환참조 예시

이해를 돕기 위해 간단한 예를 들어보겠습니다. A1 셀에 “=A1+1″이라는 수식을 입력해봅니다. 여기서 A1 셀의 값에 1을 더하려고 시도하고 있습니다. 그런데 이때 A1 셀의 값은 A1 셀 자신에 의해 결정되며, 이것이 바로 순환참조입니다. 즉, A1 셀의 값이 필요한데, 그 값이 A1 셀에 의해 결정되므로, 엑셀은 어디서부터 계산을 시작해야 하는지 알 수 없습니다.

엑셀 순환참조

이렇게 순환참조가 발생하면 엑셀은 위와 같은 에러 메시지를 표시하게 됩니다. 왜냐하면 이는 무한 루프를 만들어 낼 수 있기 때문입니다. 엑셀이 A1 셀의 값을 계산하려면 먼저 A1 셀의 값을 알아야 하며, 그 결과를 계산하기 위해서는 또 다시 A1 셀의 값을 알아야 합니다. 이렇게 계속되면 엑셀은 이 루프에서 벗어날 수 없게 됩니다.


접적인 엑셀 순환참조 예시

또한 순환참조는 다른 셀들 간의 복잡한 참조 관계를 통해 간접적으로 발생할 수도 있습니다. 예를 들어, A1 셀이 B1 셀을 참조하고, B1 셀이 C1 셀을 참조하고, 다시 C1 셀이 A1 셀을 참조하는 경우에도 순환참조가 발생합니다.

먼저, A1 셀에 ‘=B1+2’ 라는 수식을 입력하겠습니다. 여기서 A1 셀의 값은 B1 셀의 값에 2를 더한 값으로 설정됩니다.

엑셀 순환참조

그리고, B1 셀에 ‘=C1*3’이라는 수식을 입력하면, B1 셀의 값은 C1 셀의 값에 3을 곱한 값이 됩니다.

엑셀 순환참조

마지막으로, C1 셀에 ‘=A1-4’라는 수식을 입력하게 됩니다.

엑셀 순환참조

이렇게 되면, C1 셀의 값은 A1 셀의 값에서 4를 뺀 값으로 설정됩니다.

이런 상태에서 A1, B1, C1 각 셀의 값은 서로를 참조하여 계산되어야 합니다. 그러나 문제는 이들 셀의 값을 정확하게 계산할 수 없다는 것입니다. 왜냐하면 A1 셀의 값은 B1 셀의 값에 의존하고, B1 셀의 값은 C1 셀의 값에 의존하고, C1 셀의 값은 다시 A1 셀의 값에 의존하기 때문입니다. 이렇게 순환적으로 셀들이 서로를 참조하고 있기 때문에, 엑셀은 이들 셀의 값을 결정할 수 없습니다. 이런 상태가 바로 순환참조 상태입니다.

참고로 엑셀에서 순환 참조가 발생했을 때 보이는 파란색 화살표는 순환 참조의 경로를 나타냅니다. 이 화살표는 순환 참조가 발생하는 셀 간의 관계를 시각적으로 보여주어, 사용자가 문제를 파악하고 해결하는 데 도움을 줍니다.

엑셀 순환참조

이 화살표는 순환 참조가 시작되는 셀에서 시작하여, 해당 셀이 참조하는 다른 셀들을 거쳐 다시 시작 셀로 돌아오는 경로를 따라갑니다. 이렇게 하면 사용자는 어떤 셀이 순환 참조를 발생시키는지, 그리고 이들 셀이 어떻게 서로를 참조하고 있는지를 한눈에 파악할 수 있습니다.

이렇게 순환참조는 셀의 값을 계산하는 과정에서 발생하는 논리적인 오류입니다. 이를 해결하기 위해서는 순환 참조를 제거해야 합니다. 그래야만 엑셀이 셀의 값을 올바르게 계산할 수 있습니다. 순환참조를 제거하는 방법은 참조 관계를 확인하고, 문제가 되는 셀의 수식을 변경하여 순환 참조를 만들어내는 관계를 끊는 것입니다.

이런 식으로 순환참조는 엑셀에서 일어나는 복잡한 문제 중 하나로, 셀의 참조 관계를 이해하고, 실수로 순환참조를 만들지 않도록 주의해야 합니다. 이를 통해 더욱 효과적으로 엑셀을 사용할 수 있게 됩니다.


엑셀 순환참조 오류 해결방법

순환참조 오류가 발생했을 때, 엑셀은 상태 표시줄에 “순환참조”라는 경고 메시지를 표시하게 됩니다. 또한, “수식” 탭의 “오류 확인” 버튼을 클릭하면 엑셀은 순환참조가 발생한 셀을 강조 표시하여 사용자가 쉽게 찾을 수 있도록 도와줍니다.

그러나 순환참조 오류가 발생하면, 단순히 오류가 발생한 셀을 찾는 것만으로는 해결되지 않습니다. 순환참조 오류는 셀이 자신을 직접 혹은 간접적으로 참조하고 있기 때문에 발생하므로, 이 문제를 해결하기 위해서는 해당 셀의 수식을 수정하여 순환 참조를 제거해야 합니다.

다음은 순환참조 오류를 찾는 방법 입니다.

상단 리본 메뉴 : 수식 분석 > 오류 검사 > 순환 참조 확인
  1. 먼저, “수식” 탭의 “오류 확인” 버튼을 클릭하여 순환참조 오류가 발생한 셀을 찾습니다.
  2. 해당 셀을 클릭하여 수식 입력창에서 셀의 수식을 확인합니다.
  3. 수식을 살펴보고, 어떤 셀을 참조하고 있는지 확인합니다. 만약 해당 셀이 자신을 직접 참조하고 있다면, 이 부분을 수정해야 합니다. 만약 다른 셀을 참조하고 있는데, 그 셀이 다시 해당 셀을 참조하고 있다면, 이 두 셀 중 어느 하나의 수식을 수정해야 합니다.
  4. 수식을 수정하여 순환참조를 제거한 후, “수식” 탭의 “오류 확인” 버튼을 다시 클릭하여 순환참조 오류가 제거되었는지 확인합니다.
엑셀 순환참조

이런 식으로 순환참조 오류는 셀의 참조 관계를 잘 이해하고, 셀의 수식을 적절히 수정함으로써 해결할 수 있습니다. 만약 순환참조 오류가 복잡한 수식에서 발생했다면, 각 셀의 참조 관계를 체계적으로 확인하고, 필요하다면 수식을 단순화하거나 재구성하는 것이 도움이 될 수 있습니다.

참고로 마이크로소프트 지원 페이지에서도 순환 참조 제거 및 허용에 대해서 가볍게 안내하고 있습니다.


앞선 포스팅에서 정리한 엑셀 사용법 및 노하우 관련 글은 아래와 같습니다.

엑셀 절대참조 상대참조 혼합참조 3가지 참조 방식 10초 이해하기 (엑셀 $ 사용법)

엑셀 빼기 함수 30초 이해하기 (IMSUB함수란? 복소수 이해 및 SUM함수 응용 방법)

Leave a Comment