- 공유 링크 만들기
- X
- 이메일
- 기타 앱
이 글의 목적은 손상되어 열리지 않거나 오류를 반복하는 엑셀 파일을 데이터 손실을 최소화하며 복구하는 실전 절차를 체계적으로 제공하는 것이다.
복구 작업 전 필수 원칙
복구는 시도 횟수가 많을수록 원본 무결성 훼손 가능성이 커지므로 사전 방어 절차가 중요하다.
- 원본 파일을 즉시 복사하여 별도 폴더에 보관하고 복구는 복사본으로만 진행한다.
- 읽기 전용으로 먼저 열어 수식 계산과 외부 연결을 차단한다.
- 로컬 드라이브로 파일을 이동하여 네트워크·동기화 충돌 가능성을 제거한다.
-
복구 단계별로 버전 명명 규칙을 부여한다. 예:
파일명_2025-10-09_step03.xlsx형태로 관리한다.
빠른 의사결정을 위한 요약 표
| 방법 | 적용 상황 | 메뉴/경로 | 예상 성공률 | 데이터 손실 위험 | 비고 |
|---|---|---|---|---|---|
| 열기 및 복구 | 손상 메시지, 열림 실패 | 파일 → 열기 → 파일 선택 → 열기▼ → 열기 및 복구 | 중 | 낮음 | 기본 1순위이다. |
| 데이터 추출 | 구조 심각 손상 | 열기 및 복구 → 데이터 추출 | 중 | 중 | 서식·수식 손실 가능하다. |
| 안전 모드 | 추가 기능 충돌 |
실행 인수
/safe
|
중 | 낮음 | 애드인 비활성 상태로 확인한다. |
| 수동 계산 | 복잡 수식, 순환 참조 | 파일 → 옵션 → 수식 → 수동 | 중 | 낮음 | 열림 직후 재계산 방지한다. |
| 자동복구/버전 기록 | 최근 작업 손실 | 파일 → 정보 → 버전 관리 | 중 | 낮음 | 임시 파일에서 복원한다. |
| 이전 버전 복원 | 동기화/저장 충돌 | 파일 → 정보 → 이전 버전 | 중 | 낮음 | 로컬 히스토리·클라우드 기록 확인한다. |
| Power Query 가져오기 | 시트 일부만 필요 | 데이터 → 데이터 가져오기 → 통합 문서 | 중 | 낮음 | 파싱으로 데이터만 추출한다. |
| ZIP 구조 복구 | XML 구조 손상 | .xlsx → .zip 후 구성 요소 교정 | 중 | 중 | workbook.xml·drawing 교체한다. |
| SYLK 저장 | 이름정의/링크 오류 | 다른 이름으로 저장 → .slk | 중 | 중 | 형식 제한 있으나 구조 정화 효과 있다. |
| .xlsb 이진 저장 | 대용량·복잡 서식 | 다른 이름으로 저장 → .xlsb | 중 | 낮음 | 파손 위험을 낮춘다. |
1. 기본: 열기 및 복구 사용
- 엑셀에서 파일 → 열기 를 선택한다.
- 문제가 되는 파일을 한 번 클릭만 한다.
- 열기 버튼 우측의 ▼를 눌러 열기 및 복구 를 선택한다.
- 복구 로 시도한다. 실패 시 다시 시도하여 데이터 추출 을 선택한다.
2. 엑셀 안전 모드에서 열기
애드인·확장 기능 충돌로 손상처럼 보이는 현상을 배제하기 위해 안전 모드에서 연다.
Win + R excel.exe /safe
파일을 연 뒤 정상이라면 파일 → 옵션 → 추가 기능 에서 COM/Excel 애드인을 모두 비활성화한 후 하나씩 재활성화하여 원인을 식별한다.
3. 수동 계산 모드로 강제 열기
복잡 수식이나 순환 참조가 열림 시점을 지연시키거나 충돌을 유발할 수 있다.
- 엑셀을 빈 상태로 실행한다.
- 파일 → 옵션 → 수식 에서 통합 문서 계산 = 수동 으로 변경한다.
-
문제 파일을 열고 내용 확인 후
F9계산을 단계적으로 수행한다.
4. 자동복구 파일과 임시 파일에서 복원
저장 직전 중단된 경우 자동복구 버전을 확인한다.
- 파일 → 정보 → 통합 문서 관리 에서 저장되지 않은 통합 문서 복구 또는 이전 버전을 연다.
-
Windows 임시 폴더, 사용자 임시 경로, 최근 작업 폴더에서 임시 확장자(
.asd,.wbk,.tmp)나 숨김 파일을 탐색한다.
5. 버전 기록·이전 버전 복원
동기화 환경에서 저장 충돌이 나면 버전 기록에서 직전 정상본을 선택한다. 로컬 히스토리나 클라우드의 버전 히스토리 기능을 활용한다.
6. 다른 파일로 데이터 가져오기(Power Query)
원본을 직접 열지 않고 데이터 계층만 추출한다.
- 새 통합 문서에서 데이터 → 데이터 가져오기 → 파일에서 → 통합 문서 를 선택한다.
- 문제 파일을 지정하고 시트 또는 테이블을 선택한 뒤 미리 보기에서 로드한다.
이 방식은 서식, 수식, 피벗은 유지되지 않으나 본문 데이터 추출 성공률이 높다.
7. 차트·도형·피벗 요소 분리 저장
차트, 도형, 피벗캐시가 손상 지점을 만들 수 있다. 열림에 성공했다면 다음을 수행한다.
- 새 통합 문서를 만들고 손상 문서에서 시트 단위로 복사 한다.
- 오류가 재현되는 시트를 이분할하여 표, 차트, 피벗을 별도 시트로 분해한다.
- 각 분해본을 저장하면서 어느 요소에서 충돌이 나는지 확인한다.
8. 외부 연결·이름 정의 초기화
깨진 연결과 비정상 이름 정의는 열림 충돌을 만든다.
- 수식 → 이름 관리자 에서 #REF!·외부 경로를 포함한 이름을 삭제한다.
- 데이터 → 쿼리 및 연결 에서 사용하지 않는 연결을 삭제하거나 파일 연결 속성 을 비활성화한다.
- 편집 링크 에서 연결 끊기 를 순차 적용한다.
9. 파일 형식 전환으로 구조 정화
형식 전환은 내부 XML 구조를 재생성하여 경미한 손상을 제거한다.
- .xlsx → .xlsb 로 저장한다. 이진 형식은 대용량·복잡 문서 안정성이 높다.
- .xlsx → .slk (SYLK)로 저장 후 다시 .xlsx로 저장한다. 일부 이름 정의와 링크가 초기화된다.
- .xlsx → .csv 로 내보내 값만 보존 후, 서식은 재구성한다.
10. .xlsx를 .zip으로 열어 직접 교정
.xlsx는 ZIP 컨테이너 구조이다. 파일 확장자를 .zip으로 변경하여 내부를 점검한다.
-
xl/workbook.xml에서 손상된 정의가 있으면 새 통합 문서의 동일 파일로 교체한다. -
xl/worksheets/sheet*.xml을 하나씩 교체하여 문제 시트를 특정한다. -
xl/drawings,xl/charts폴더를 임시 제거하여 도형·차트 손상 여부를 검증한다.
11. 파일 속성·경로 문제 해결
- 파일 경로 길이가 260자를 넘으면 열림 오류가 날 수 있다. 상위 폴더로 이동하여 경로를 단축한다.
- 파일 속성에 차단됨 표기가 있으면 속성 → 차단 해제 를 선택한다.
- 읽기 전용, 권한, 잠금 핸들 충돌을 제거하기 위해 OS 재부팅 후 단독으로 연다.
12. 디스크·파일 시스템 점검
I/O 오류, 배드 섹터는 문서 손상의 근본 원인이다. 관리자 권한 명령으로 점검한다.
chkdsk C: /f /r
점검 후 동일 증상이면 다른 물리 드라이브로 복사한 뒤 복구를 반복한다.
13. 매크로·이벤트 일시 차단
Workbook_Open 이벤트나 VBA 매크로가 열림 시 충돌을 낼 수 있다. 신뢰 센터에서 매크로를 비활성화하고 열어본다. 필요 시 다음과 같이 안전하게 열어 데이터를 복제한다.
' 새 통합 문서에서 실행 Application.EnableEvents = False Application.ScreenUpdating = False Workbooks.Open Filename:="문제파일경로", ReadOnly:=True ' 값만 복사 ActiveWorkbook.Sheets(1).UsedRange.Copy Workbooks.Add ActiveSheet.Range("A1").PasteSpecial xlPasteValues Application.EnableEvents = True Application.ScreenUpdating = True
14. 텍스트 변환기로 데이터 비상 추출
구조가 심각하게 파손된 경우 텍스트 추출을 통해 가용 데이터를 확보한다.
- 파일을 다른 이름으로 .csv로 저장을 시도한다. 실패하면 Power Query로 텍스트로 읽기를 시도한다.
- 열 구분자를 추정하여 주요 필드를 분리하고 정제 규칙을 적용한다.
이 방법은 가독성은 낮으나 핵심 숫자 데이터 보존률이 높다.
15. 손상 예방을 위한 운영 수칙
- 대용량 문서는 피벗캐시·쿼리·차트 시트를 분리하여 모듈화한다.
- 정기적으로 .xlsb 형식으로 보관본을 만든다.
- 자동 저장 간격을 5분 이하로 설정하고 버전 기록을 활성화한다.
- 외부 링크는 ODBC·OLE DB 연결보다 데이터 가져오기(Power Query)로 일원화한다.
- 길고 복잡한 이름 정의, 숨김 시트를 최소화한다.
문제 유형별 처방 매트릭스
| 증상 | 가능 원인 | 우선 시도 | 차선 시도 | 최후 수단 |
|---|---|---|---|---|
| 열리지 않음/응답 없음 | 애드인 충돌, 재계산 폭주 | 안전 모드, 수동 계산 | 열기 및 복구 | Power Query 추출 |
| 손상 경고 메시지 | XML 구조 오류 | 열기 및 복구 | .xlsb 저장 | .zip 구조 교정 |
| 저장 실패·파일 0KB | 디스크 오류, 충돌 | 버전 기록 복원 | 임시 파일 탐색 | 디스크 점검 후 추출 |
| 수식 #REF! 다수 | 시트/이름 손실 | 데이터 추출 | 이름 관리자 정리 | SYLK 경유 재저장 |
| 열면 바로 종료 | Workbook_Open 매크로 | 매크로 차단 | 이벤트 비활성화 후 열기 | VBA로 값 복사 |
현장 체크리스트
- 원본 백업 생성 확인하였다.
- 안전 모드·수동 계산으로 재현 테스트 수행하였다.
- 열기 및 복구 결과를 단계별로 저장하였다.
- 연결·이름 정의 정리 후 재검증하였다.
- 형식 전환(.xlsb·.slk·.csv)로 정화 시도하였다.
- ZIP 구조 점검으로 손상 파일을 특정하였다.
- 디스크 점검과 경로 길이 단축을 완료하였다.
- 최소 1개 이상 데이터 추출본을 확보하였다.
FAQ
파일을 열면 일부 시트만 사라졌다고 나온다. 어떻게 복구하나?
ZIP 구조에서
xl/worksheets
를 확인하여 누락된
sheetN.xml
을 특정하고, 새 통합 문서에서 동일 이름 파일로 교체한 뒤 열어본다. 실패 시 Power Query로 남은 시트 데이터를 우선 확보한다.
피벗테이블이 손상되었다고 나온다. 원본 데이터는 살릴 수 있나?
피벗캐시만 파손된 경우가 많다. 피벗 시트를 삭제하거나 피벗캐시 삭제 후 재생성 을 시도한다. 원본 데이터 범위를 별도 시트로 복사해 값으로 저장하면 데이터는 보존된다.
암호가 걸린 파일도 복구가 가능한가?
암호화가 활성화된 파일은 암호 없이는 복구가 불가능하다. 암호를 알고 있다면 복구 절차는 동일하게 적용한다. 암호 분실 시 합법적 복구 수단은 제한적이다.
파일 크기가 비정상적으로 커진 뒤 손상되었다. 예방책은?
중복 스타일, 과도한 조건부 서식, 그림·도형 누적이 원인이다. 정기적으로 스타일 정리 와 .xlsb 저장을 병행하고, 대형 피벗캐시는 별도 파일로 분리한다.
네트워크 드라이브에서만 문제가 발생한다. 해결법은?
네트워크 지연과 잠금 충돌로 인한 저장 실패 가능성이 있다. 로컬로 복사해 작업하고 완료 후 버전 관리 정책에 따라 업로드한다.
수식이 깨지고 값만 남았다. 되돌릴 수 있나?
데이터 추출 단계에서 수식이 값으로 전환되면 수식 자체 복원은 어렵다. 구조와 입력값을 기준으로 수식을 재설계한다. 이후에는 주기적 백업과 버전 기록으로 대비한다.