대용량 데이터를 다루다 보면 “왜 6 만 여 행까지만 복사되죠?” 혹은 “100 만 행이 넘는 CSV를 열었더니 잘려요” 같은 상황을 자주 만납니다. 오늘은 엑셀 워크시트가 가질 수 있는 행 한계와 그 이유, 그리고 한계를 우회‧대체할 수 있는 방법까지 정리해 보았습니다.
버전별 최대 행·열 수 비교
| 파일 형식 | 확장자 | 최대 행 | 최대 열 |
|---|---|---|---|
| Excel 97–2003 | .xls | 65,536 | 256 |
| Excel 2007 이상·Microsoft 365 | .xlsx / .xlsb 등 | 1,048,576 | 16,384(XFD) |
.xls 통합 문서는 65,536행에서 멈추지만, .xlsx 이후 버전은 정확히 1,048,576행(2²⁰)으로 크게 늘었습니다. 열도 256개(IV)에서 16,384개(2¹⁴, XFD)로 확대됐습니다.
왜 이런 숫자일까?
엑셀 개발팀은 내부적으로 2의 거듭제곱 단위를 선호합니다.
- 65,536 = 2¹⁶
- 1,048,576 = 2²⁰
거듭제곱 단위를 쓰면 메모리 주소 계산이 단순해져 처리 속도를 확보할 수 있기 때문입니다.
65,536행 벽을 만났을 때(구버전 파일)
.xls 파일을 그대로 열어 작업하면 65,536행을 넘는 데이터가 다음 시트로 잘려 저장됩니다.
해결책은 간단합니다.
- F12(다른 이름으로 저장) → 파일 형식을 “Excel 통합 문서(*.xlsx)”로 선택.
- 저장 후 엑셀을 완전히 닫았다가 다시 열면 1,048,576행까지 사용할 수 있습니다.
단순히 파일 확장자만 바꾸는 것은 소용없고, 다른 이름으로 저장을 통해 실제 파일 구조를 바꿔야 제한이 풀립니다.
100 만 행도 부족하다면?
엑셀 자체 워크시트는 1,048,576행에서 멈춥니다. 그 이상의 레코드를 분석해야 할 때는 다음 방법이 실무에서 많이 쓰입니다.
- Power Query 또는 Power Pivot 데이터 모델에 로드
→ 워크시트가 아닌 메모리 데이터 모델로 불러오면 수백 만 행도 처리할 수 있습니다. - CSV를 RDBMS(예: SQL Server, MySQL)·파워 BI·파이썬 등 외부 도구에 저장 후 필요 구간만 가져오기.
- 실제로는 행 수보다 PC 메모리·CPU가 병목이 되므로 64bit Excel + 충분한 RAM 환경이 필수입니다.
실무 팁 모음
- 마지막 행으로 순간 이동: Ctrl + ↓.
- 열 한계 확인: Ctrl + →, 또는 마지막 열(XFD)로 이동.
- 빈 셀이 100만 행까지 “오염”돼 파일이 무거울 때
① 불필요한 아래쪽 행 선택 → 행 삭제
② 바로 저장 후 엑셀 재실행하면 파일 용량이 크게 줄어듭니다. - 열·행 한계를 넘긴 뒤에는 스크롤바가 끝까지 내려가 있으니, 파일을 받으면 먼저 행 수를 확인해 과도한 데이터 범위가 있는지 점검하세요.
*정리
- .xls 파일은 65,536행, .xlsx는 1,048,576행이 최대다.
- 65,536행에 막히면 .xlsx로 저장만 해도 한계가 16배 커진다.
- 1,048,576행 이상을 다룰 땐 Power Query/Power Pivot, 데이터베이스 등 외부 모델 사용을 고려하자.