본문 바로가기
컴퓨터 문제해결

[문제해결] 엑셀 - 지정한 수식에서 현재 파일 형식에 허용되는 것보다 많은 중첩 수준을 사용하므로 수식을 입력할 수 없습니다

by ^. 2020. 11. 21.

     

반응형

엑셀 수식을 걸다보니 "지정한 수식에서 현재 파일 형식에 허용되는 것보다 많은 중첩 수준을 사용하므로 수식을 입력할 수 없습니다."라는 메세지 창이 나온다.
분명히 문제없이 다른 파일에는 작동한 것을 봤는데, 잘못 입력을 해서 그런가?

해결은 바로 엑셀파일이 옛날 엑셀 2003 하위버전 형태 .xls 파일이면 문제가 발생하고,
엑셀 2007 이상 파일형태 .xlsx 의 경우에는 문제가 발생하지 않았다.

1. 예로 엑셀 2003 하위버전 형태 파일(.xls)에서 아래와 같이 복잡한 수식을 걸었다.
   IF문이 여러개인... 똘82닷컴이 보기에도 복잡해서 무슨 결과가 나오는지 알아보기 힘들다.
   아무튼 아래와 같이해서 수식을 입력한 뒤, 엔터키를 누르면 오류창이 나온다.
   "지정한 수식에서 현재 파일 형식에 허용되는 것보다 많은 중첩 수준을 사용하므로 수식을 입력할 수 없습니다."


2. 그래서 해결책으로 EXCEL 통합버전 파일 형태로 .XLSX 로 다른이름으로 저장을 하였다.

3. 그러면 당연히 파일은 .XLSX 로 바뀌어져 있기 때문에, 수식을 입력을 했으나 똑같이 오류가 나온다.
   잠시 보면, 상단의 파일 확장자는 .XLSX로 바뀌었으나 아직까지 [호환 모드]로 표시가 된다.
   아마도, 파일은 바뀌었으나 아직 인식은 옛날 .XLS 의 본모습을 그대로 가지고 있는 듯 하다.

4. 열린 엑셀파일을 닫고, 새로 저장된 파일을 불러와서 해 보면 정상적으로 복잡한 중첩 엑셀 수식이 적용이 된다.
   이렇게 수식 결과도 나오고, 상단의 표시도 [호환 모드]는 없고 정상적으로 .XLSX 파일명만 나온다.

  


복잡한 중첩 수식은 64개까지 가능하다고 한다. 하위 버전 엑셀 2003는 그것보다 조금밖에 적용이 안 되는 것 같으니 참고하자.
엑셀 2007 파일 형태(.XLSX)이면 문제없이 적용 가능하다. 신규로 파일을 열어서 하면 문제 없음.
   
마이크로소프트 사에서도 복잡한 중첩 수식을 권장하지는 않는다. 복잡하니까...ㅎㅎ 어쩔 수  없이 쓰는 경우는 써야지.
Excel에는 서로 다른 IF 함수를 64개 중첩할 수 있지만 그렇게 하는 것은 전혀 바람직하지 않습니다. 다음과 같은 이유 때문입니다.
- IF 문이 여러 개이면 문을 올바르게 작성하고 논리에 따라 각 조건이 끝까지 올바르게 계산되도록 고심해야 합니다. 수식을 100% 정확하게 중첩하지 않으면 75%는 제대로 실행되지만 25%는 예상치 못한 결과가 반환될 수 있습니다. 안타깝게도 이 25%를 파악하는 것은 쉽지 않습니다.
- IF 문이 여러 개이면 유지 관리가 매우 어려워질 수 있습니다. 자신이나 다른 사람이 작성하던 문을 나중에 다시 파악하려는 경우 특히 그렇습니다.

반응형

댓글