AI로 XLSX 파일 마스터하기: 구조, 제한 사항 및 모범 사례

XLSX 파일은 스프레드시트가 아닙니다. 스프레드시트 애플리케이션이 읽는 XML 문서들의 압축(zip) 패키지일 뿐입니다. 이 사실 하나만으로도 사람들이 겪는 대부분의 이상한 현상들을 설명할 수 있습니다. 파일 용량이 비정상적으로 늘어나거나, 수식이 이상한 순서로 재계산되거나, 작아 보이는 워크북을 여는 데 엄청난 시간이 걸리는 현상들 말입니다.
이 가이드에서는 이 포맷의 내부 구조, Microsoft가 발표한 제한 사항, 그리고 다른 사람들도 XLSX 파일을 원활하게 사용할 수 있도록 유지하는 습관에 대해 다룹니다.
XLSX 파일의 실제 정체
XLSX는 Office Open XML 표준과 함께 도입된 기본 Excel 포맷입니다. 이전의 바이너리 포맷은 모든 데이터를 하나의 불투명한 덩어리(blob)로 저장했던 반면, XLSX는 컨테이너 내부에 구조화된 XML 파트들을 저장합니다.
이러한 변화 덕분에 최신 도구들은 Excel이 설치되어 있지 않아도 이 포맷을 읽을 수 있습니다. 또한, 이전 포맷에서는 불가능했던 방식으로 XLSX 파일을 검사하고, 차이점을 비교(diff)하고, 복구할 수 있는 이유이기도 합니다.
데이터를 다루는 모든 이들에게 실질적으로 와닿는 결과는 바로 XLSX 파일이 단순한 값 그 이상을 담고 있다는 점입니다. 서식, 수식, 피벗 캐시, 조건부 규칙, 계산 순서 등이 모두 파일과 함께 이동합니다.
패키지 내부 들여다보기
Microsoft의 SpreadsheetML 문서는 그 골격을 정확하게 설명합니다. 이 구조는 "통합 문서(workbook) 내의 워크시트를 참조하는 <sheets/> 및 <sheet/> 요소를 포함하는 <workbook/> 요소로 구성"됩니다.
그 다음으로 대부분의 사람들을 놀라게 하는 세부 사항이 나옵니다. "각 워크시트마다 별도의 XML 파일이 생성됩니다." 즉, 10개의 탭이 있는 워크북은 10개의 섹션이 있는 하나의 파일이 아니라, 최소 10개의 문서와 하나의 매니페스트(manifest)로 구성됩니다.
Microsoft는 이를 "유효한 스프레드시트 문서에 필요한 최소한의 요소"로 나열합니다. 이 외에도 워크북은 "<table/>, <chartsheet/>, <pivotTableDefinition/> 또는 기타 스프레드시트 관련 요소를 포함할 수 있습니다."
이러한 추가 파트 중 네 가지가 실제 파일 동작의 대부분을 설명해 줍니다.
공유 문자열 테이블(Shared string table). Microsoft는 <sst/>를 "워크북의 모든 워크시트에서 발생하는 각 고유 문자열이 한 번씩만 나타나도록 담고 있는 구조"로 설명합니다. 텍스트는 한 번만 저장되고 모든 곳에서 참조되므로, 중복이 많은 파일이 잘 압축되는 이유가 바로 여기에 있습니다.
계산 체인(Calculation chain). <calcChain/>는 "워크북의 셀들이 마지막으로 계산된 순서를 지정"합니다. 이는 일종의 캐시이며, 이것이 손상되면 해당 파트를 삭제하기 전까지 워크북이 이상하게 작동하는 전형적인 원인이 됩니다.
피벗 캐시(Pivot cache). <pivotCacheDefinition/>는 PivotTable 데이터의 원본을 정의하고, <pivotCacheRecords/>는 "원본 데이터의 캐시"를 보유합니다. 따라서 PivotTable은 파일 내부에 원본 행의 전체 복사본을 가질 수 있습니다.
테이블 및 차트 시트. <table/>는 특정 범위를 단일 데이터 세트로 표시하며, <chartsheet/>는 자체 시트로 저장된 차트입니다.
Microsoft는 또한 ECMA-376 표준을 인용하여 최소 기준을 제시합니다. 가장 작은 빈 워크북이라도 단일 시트, 시트 ID 및 관계(relationship)가 필요합니다. 즉, 아무것도 들어있지 않은 XLSX 파일이란 존재하지 않습니다.
XLSX 대 CSV
두 포맷 모두 표 형식의 데이터를 담고 있습니다. 하지만 그 외의 모든 부분에서는 의견이 다릅니다.
| XLSX | CSV | |
|---|---|---|
| 컨테이너 | XML 파트들의 압축 패키지 | 하나의 일반 텍스트 파일 |
| 다중 시트 | 지원함 | 지원하지 않음 |
| 수식 | 계산 체인과 함께 저장됨 | 지원되지 않음 |
| 서식 및 타입 | 보존됨 | 보존되지 않음 |
| 차트 및 피벗 테이블 | 파일 내부에 저장됨 | 지원되지 않음 |
| 별도 도구 없이 읽기 가능 여부 | 불가능 | 가능 |
| 일반적인 오류 유형 | 용량 비대화 및 숨겨진 상태 | 타입 유실 및 구분자 모호성 |
추상적인 관점에서 어느 한쪽이 더 우수한 포맷이라고 할 수는 없습니다. 수신 측의 시스템이 단순히 행 데이터만을 필요로 할 때는 CSV가 유리하며, 이에 대해서는 CSV 파일 마스터하기 가이드에서 자세히 다루고 있습니다.
반면, 수신 측의 사람이 구조를 파악해야 할 때는 XLSX가 유리합니다. 탭 레이아웃, 숫자 서식, 그리고 바로 옆에 있어야만 의미가 통하는 메모 열 등이 이에 해당합니다.
흔히 하는 실수는 시스템 간의 데이터 전송 포맷으로 XLSX를 사용하는 것입니다. 그 모든 추가적인 상태 정보를 무언가가 파싱해야 하는데, 최종 목적지가 데이터베이스라면 이는 아무런 이점도 제공하지 못합니다.
Microsoft가 발표한 제한 사항
Microsoft의 사양 및 제한 사항 페이지에는 절대적인 한계치들이 나열되어 있습니다. 실제 내보내기(export) 작업을 처리할 때 중요한 항목들은 다음과 같습니다.
| 항목 | 발표된 제한 사항 |
|---|---|
| 워크시트당 행 및 열 수 | 1,048,576행 x 16,384열 |
| 단일 셀의 글자 수 | 32,767자 |
| 워크북당 시트 수 | 사용 가능한 메모리에 의해 제한됨 |
| 수식 내용의 길이 | 8,192자 |
| 열 너비 | 255자 |
| PivotTable 필드당 고유 항목 수 | 1,048,576개 |
| PivotTable의 보고서 필터 수 | 256개 |
파일 크기는 별도로 언급할 가치가 있습니다. 왜냐하면 그 답이 특정 숫자로 정해져 있지 않기 때문입니다. Microsoft는 "64비트 환경에서는 파일 크기에 대한 하드웨어적 제한이 없다"고 밝히고 있습니다. 대신 "워크북 크기는 사용 가능한 메모리와 시스템 리소스에 의해서만 제한"됩니다.
여전히 32비트 Excel을 사용하는 분들을 위한 관련 세부 정보도 있습니다. Microsoft에 따르면 Excel 2016부터 Large Address Aware 기능 덕분에 64비트 Windows 운영 체제에서 "32비트 Excel이 두 배의 메모리를 사용할 수 있게" 되었습니다.
발표된 수치는 Excel for Microsoft 365, 2024, 2021, 2019 및 2016에 적용됩니다.
이러한 제한 사항이 실무에서 의미하는 바
행 수 제한은 가장 자주 언급되지만 실제로는 가장 덜 중요합니다. 1,048,576행에 도달하는 팀은 극히 드물며, 설령 도달하더라도 대개 이미 다른 이유로 스프레드시트의 한계를 넘어선 상태이기 때문입니다.
실제로 문제를 일으키는 제한 사항들은 조용히 찾아옵니다. 32,767자로 제한된 셀은 일부 가져오기 경로에서 긴 텍스트 필드를 경고 없이 잘라냅니다. 보고서 필터가 256개로 제한된 PivotTable은 보고서가 2년 동안 누적되어 커진 후에야 비로소 오류를 일으킵니다.
진짜 제약 조건은 메모리입니다. 시트 수와 파일 크기는 고정된 숫자가 아니라 사용 가능한 메모리에 의해 제한됩니다. 따라서 동일한 XLSX 파일이라도 어떤 컴퓨터에서는 잘 열리고 다른 컴퓨터에서는 멈출 수 있습니다.
행 수보다 메모리 비용을 더 크게 증가시키는 세 가지 요인이 있습니다. 원본 데이터의 복사본을 이중으로 보유하는 피벗 캐시, 사용된 범위가 아닌 열 전체에 적용된 서식, 그리고 열 전체를 참조하는 수식입니다.
다른 사람이 열어볼 XLSX 파일을 위한 모범 사례
시트당 하나의 테이블만 유지하세요. 하나의 시트에 세 개의 테이블이 수직으로 쌓여 있으면 대부분의 도구에서 파싱하기 어렵고, 대개 사람이 먼저 이를 설명해 주어야 합니다.
헤더는 맨 위 단일 행에 배치하세요. 병합되거나 두 줄로 된 헤더는 거의 모든 다운스트림 도구를 망가뜨리며, 가져오기 결과가 엉망이 되는 가장 흔한 원인입니다.
열 전체가 아닌 사용된 범위에만 서식을 적용하세요. 채우기 색상을 적용하기 위해 A열 전체를 선택하는 것은 파일 용량을 수 메가바이트(MB) 늘리는 가장 빠른 방법입니다.
파일에 상태를 숨기지 마세요. 숨겨진 시트, 필터링된 보기, 수동 계산 모드 등은 모두 워크북과 함께 이동하여 다음 사람을 당황하게 만듭니다.
값만 필요할 때는 값만 전송하세요. 수신자에게 숫자 데이터만 필요한 경우, CSV로 내보내면 수많은 잠재적 문제를 원천 차단할 수 있습니다.
외부 사람도 이해할 수 있게 이름을 지정하세요. 열 이름은 인터페이스와 같습니다. 혼란스러운 워크북을 해결하는 가장 빠른 방법은 대개 그 옆에 간단한 용어 사전을 첨부하는 것입니다.
XLSX가 더 이상 적절한 컨테이너가 되지 못하는 시점
XLSX 파일은 훌륭한 문서이지만, 데이터베이스로서는 평범한 수준에 불과합니다. 한 팀의 작업 사본을 보관하는 데는 적합하지만, 여러 사람이 동시에 수정해야 하는 순간 한계에 부딪힙니다.
그 징후는 일관되게 나타납니다. 파일 이름 뒤에 버전 접미사가 붙기 시작합니다. 두 사람이 서로 다른 합계를 제시합니다. 누군가는 다른 탭들을 대조하고 조정하기 위한 탭을 따로 관리하기 시작합니다.
이 시점이 되면 해결해야 할 문제는 파일 자체가 아닙니다. 파일 주변의 워크플로우가 문제이며, 더 큰 스프레드시트로 교체하는 것은 단지 결산의 날을 미루는 것에 불과합니다.
수작업 없이 XLSX 파일 다루기
XLSX 파일이 만들어내는 작업의 대부분은 분석이 아닙니다. 파일을 열고, 훑어보고, 서식을 다시 지정하고, 석 달째 똑같은 차트를 다시 만드는 일입니다.
Powerdrill Bloom이 그 절반의 작업을 대신해 줍니다. 워크북을 업로드하고 필요한 내용을 자연어로 설명하기만 하면 됩니다. 그러면 요약본, 차트, 발표 자료(deck), 또는 Excel 분석 결과물 등 완성된 산출물이 제공됩니다. 무료 플랜에서는 Excel, CSV, PDF 및 문서 업로드가 지원되며, Pro 플랜에는 슬라이드, Office 문서 및 Excel 분석 기능이 추가됩니다.
당사의 Excel AI assistant 페이지에서는 직접적인 방법을 다루고 있으며, Excel AI tools 허브에서는 보다 세분화된 작업들을 소개합니다. make graphs from Excel 페이지에서는 차트 작성 측면을 다룹니다. 피벗 테이블 단계를 건너뛰고 싶다면, 피벗 테이블 없이 Excel 데이터를 요약하는 방법에서 대안을 확인해 보세요.
포맷을 이해하는 것은 문제를 예방하는 길입니다. 반복적인 작업을 다른 도구에 맡기는 것은 소중한 오후 시간을 되찾는 길입니다. 여러분이 가진 가장 복잡한 워크북으로 Powerdrill Bloom을 직접 경험해 보세요.
자주 묻는 질문
XLSX는 무엇의 약자인가요?
Office Open XML 스프레드시트 포맷의 파일 확장자입니다. 마지막의 X는 패키지가 이전의 바이너리 레이아웃 대신 XML 파트들을 포함하고 있음을 나타냅니다.
XLSX 파일은 최대 몇 행까지 담을 수 있나요?
Microsoft가 발표한 워크시트 제한은 1,048,576행 x 16,384열입니다. 워크북은 여러 개의 시트를 포함할 수 있으며, 이는 고정된 개수가 아니라 사용 가능한 메모리에 의해 제한됩니다.
XLSX 파일의 최대 크기가 정해져 있나요?
고정된 제한은 없습니다. Microsoft는 64비트 환경에서 파일 크기에 대한 하드웨어적 제한이 없다고 밝히고 있습니다. 워크북 크기는 사용 가능한 메모리와 시스템 리소스에 의해서만 제한됩니다.
제 XLSX 파일 용량이 왜 이렇게 큰가요?
일반적인 원인으로는 열 전체에 적용된 서식, 원본 행의 두 번째 복사본을 저장하는 피벗 캐시, 그리고 이미지 등이 있습니다. 단순히 행의 개수만으로는 용량이 커진 이유를 설명하기 어렵습니다.
데이터를 공유할 때 XLSX와 CSV 중 어떤 것을 사용해야 하나요?
수신자가 구조, 수식 또는 다중 시트를 필요로 할 때는 XLSX를 사용하세요. 시스템이 행 데이터만을 필요로 하고 그 외의 모든 것이 불필요한 오버헤드일 때는 CSV를 사용하세요.