본문 바로가기

4. Do, and Don't!

[Don't] 데이터에 비해 용량이 너무 큰 엑셀에는 무엇이 숨어있을까?

회사에서 가장 흔하게, 빈번하게 받는 질문중 하나가 바로 이거다.

"엑셀이 너무 느려요... 데이터는 몇 개 없는데, 왜 그래요?"

"저장 버튼 누르면 한 세월이에요. 제가 함수를 너무 많이 썼나요?"

"엑셀이 첨부가 안돼요. 데이터에 비해 용량이 왜 이렇게 클까요?"

 

혹시나 아래 내용을 놓치고 있지 않은지, 확인해보라.

 

 

[엑셀 바닥에서 숨쉬는 백만개의 행!]

1. 진단

이게 무슨 소리인가? 엑셀 바닥이라니?

첨부의 파일은, 데이터에 비해 용량이 큰 대표 예제이다.

실제 데이터는 매우 적은데, 무려 5M를 차지하고 있는 것이다.

이게 전부다. 첨부로 확인해보라.
과일_F.xlsx
5.19MB

무엇이 문제일까? 이 엑셀에서 다른 점이 하나 있다. 바로 "스크롤"이다.

이렇게 움직일 곳 없어야 하는 스크롤이......
이렇게나 넓어져 버렸다. 데이터도 없는데.

왜 이렇게 스크롤이 늘어나 있는지 짐작할 수 있겠는가?

맞다. 65,536번째 (XFD) 열까지, 1,048,576번째 행까지 더미 (Dummy) 데이터가 늘어나 있는 것이다.

 - 그리고 그 중간의 공백 모두 더미 임에도 데이터로 간주하고 있다. 이게 원인이다.

 

다르게 알 수 있는 방법이 또 있다.

지금 바로 Ctrl + End를 눌러보라.

이 때 행 또는 열이 엑셀의 저 끝까지 가버린다면 (위 숫자만큼), 더미 데이터가 있는것이다.

 

 

2. 치료

생각보다 간단하다. 더미 데이터를 지워버리면 된다.

감이 잘 안오시는 분들을 위해 아래 내용을 따라하시기를 권장한다.

1) 행을 삭제해야 할 때

 - 실제 필요한 데이터 다음 행 (더미데이터 첫 행)으로 간다.

 - Shift + Space (행 전체 선택)

 - Ctrl + Shift + ↓ (아래화살표)

 - Ctrl + "-" (마이너스)

 

2) 열을 삭제해야 할 때

 - 실제 필요한 데이터 다음 열 (더미데이터 첫 열)로 간다.

 - Ctrl + Space (열 전체 선택)

 - Ctrl + Shift + 오른쪽화살표)

 - Ctrl + "-" (마이너스)

 

상황에 따라 아래와 같은 메세지가 나올 수 있다. 예를 누르면 된다.

 - 매우 오래걸릴 수도 있으니, 다른 프로그램을 저장하고 끈 뒤에 해보자.

데이터 양이 많으면 종종 물어본다.

삭제가 끝났다면 "저장"버튼을 눌러라.

스크롤이 바로 줄어드는 것을 확인할 수 있다.

확신이 서지 않는다면 닫고 다시 열면 된다. 아래 파일 참고.

과일_S.xlsx
0.01MB

 

3. 예방

이 오류는 다양한 사유로 나타난다. 대표적으로는

 - xls의 데이터를 xlsx로 강제로 복사/이동 시키거나,

 - 수식의 잘못된 사용으로 인한 범위 참조 오류,

등이다.

 

예방이 어려운 만큼, 발생하면 그때 그때 치료해놔서 용량은 가볍게, 속도는 빠르게 유지하시길.