본문 바로가기
#2 엑셀 오류 가이드

엑셀에서 “레코드 제한으로 인해 전체 데이터가 표시되지 않음” 오류 해결 가이드

by 이세계의엑셀 2025. 5. 11.
반응형

Meta Description
엑셀에서 “레코드 제한으로 인해 전체 데이터가 표시되지 않음” 오류 해결 방법을 심층 분석합니다. 원인 파악부터 VBA 자동화까지 단계별 대처 방안을 제공하니, 대용량 데이터를 다루는 모든 사용자가 쉽게 문제를 해소할 수 있습니다.


엑셀에서 “레코드 제한으로 인해 전체 데이터가 표시되지 않음” 오류 해결 이슈는 대용량 데이터를 임포트·Query·피벗 테이블·파워 쿼리로 처리할 때 가장 많이 만납니다. 만약 이 오류를 그대로 두면 보고서에 값이 잘려서 중요한 의사결정이 흔들리고, 자동화 스크립트 전체가 멈춤 현상까지 겪을 수 있습니다. 본 글은 해당 오류 해결 노하우를 엑셀에서 “레코드 제한으로 인해 전체 데이터가 표시되지 않음” 오류 해결 키워드에 맞춰 체계적으로 정리했습니다.


원인 분석: 레코드 제한이 무엇이며 왜 생길까?

  1. 버전별 행(레코드) 한계
    • 32‑bit Excel은 2 GB 메모리 한계 및 1,048,576행 제한을 동시에 받습니다.
    • 파워 쿼리 내부는 2GB 모델 제한→쿼리 미리보기 커서 제한으로 이어집니다.
  2. 데이터 모델 vs. 워크시트 이중 제한
    • 데이터 모델에 적재 시에는 열 수 × 행 수 × 바이트 크기를 압축 전 크기로 계산해 2GB 초과 시 오류 발생.
  3. Connection 속성의 ‘Command Timeout’ 값
    • 외부 DB 연결이 오래 걸릴 경우 Windows OLEDB가 강제 중단하며 ‘레코드 제한’ 메시지와 함께 로딩이 중단됩니다.
  4. 피벗 캐시 & 자동 필터
    • 필터나 피벗 캐시의 인메모리 스냅샷이 2GB 초과 시 내부적으로 동일 메시지가 표시됩니다.

버전별 행·열 한계 한눈에 보기

Excel 버전 워크시트 행 한계 열 한계 Power Query Preview 레코드 한계(기본값)
2003 이전 65,536 256
2007~2010 1,048,576 16,384 1,000
2013~2021 1,048,576 16,384 1,000
Microsoft 365 1,048,576 16,384 1,000 (설정으로 변경 가능)

“레코드 제한으로 인해 전체 데이터가 표시되지 않음” 오류 해결 단계

  1. 파워 쿼리 미리보기 제한 해제
  2. Data Model 메모리 사용 모니터링
  3. 부분 불러오기(Split Query) 전략
  4. VBA로 자동 페이징 로드
  5. 64‑bit Excel · RAM 업그레이드 고려

아래부터 각 단계를 실제 시나리오와 함께 살펴봅니다.

반응형

1) 파워 쿼리 미리보기 제한 해제

파일 → 옵션 및 설정 → 쿼리 옵션 → 데이터 미리보기 → '미리보기 줄 제한' 체크 해제
  • 기본 1,000행에서 “무제한”으로 변경하면 UI 미리보기에서 오류가 사라집니다. 단, 로딩 단계에서 모델 한계를 초과하지 않도록 주의하세요.

2) Data Model 메모리 검사 & 압축

Power Pivot → 파일 → 분석 → 설계 → '모델 측정' → 압축
  • 불필요한 열 삭제 → 압축 저장 → 메모리 사용량 ↓
  • 분석 탭 ‘Usage’ 창에서 테이블별 바이트 크기를 확인할 수 있습니다.

3) Split Query(부분 불러오기) 전략

  • 방법 A: 날짜·ID 범위로 WHERE 절 페이징
  • 방법 B: OData URL에 $top & $skip 파라미터 사용

OData 페이징 예시 URL

https://api.example.com/v1/Orders?$top=50000&$skip=100000
  • 위 URL 조합을 매크로로 반복 호출하면 대용량도 안전하게 분할 로드됩니다.

4) VBA로 자동 페이징 로드

아래 VBA 매크로는 OData·REST API 같은 외부 소스에서 500,000행까지 순차 페이징 후 데이터 모델에 적재합니다.

Sub LoadPagedQuery()
    Const BASE_URL As String = "https://api.example.com/v1/Orders?$top=50000&$skip="
    Const BATCH As Long = 50000     ' 페이지당 레코드 수
    Dim skipVal As Long
    Dim nextUrl As String
    Dim cn As WorkbookConnection
    Dim qt As QueryTable

    skipVal = 0
    Do
        nextUrl = BASE_URL & CStr(skipVal)

        ' 기존 연결 삭제
        On Error Resume Next
        ThisWorkbook.Connections("PagedLoad").Delete
        On Error GoTo 0

        ' 새 연결
        Set cn = ThisWorkbook.Connections.Add2( _
                Name:="PagedLoad", _
                Description:="Paged import " & skipVal, _
                ConnectionString:="URL;" & nextUrl, _
                CommandText:=nextUrl, _
                lCmdtype:=xlCmdSql)

        ' 워크시트에 로드
        Set qt = cn.QueryTable
        qt.Refresh BackgroundQuery:=False

        If qt.ResultRange.Rows.Count < BATCH Then Exit Do   ' 마지막 페이지

        skipVal = skipVal + BATCH
    Loop
    MsgBox "Import completed!", vbInformation
End Sub

포인트

  • skipVal 증가 = 다음 페이지 호출
  • 마지막 페이지는 반환 행 수가 BATCH 미만 → 루프 종료
  • 각 페이지마다 Connections.Add2로 즉시 연결 후 QueryTable.Refresh

5) 64‑bit Excel·RAM 업그레이드

  • 32‑bit Excel을 고수하면 최대 2 GB 메모리를 못 벗어납니다.
  • 64‑bit 환경 + 16 GB↑ RAM → Power Pivot 모델 4 GB 이상도 원활.

실제 업무 시나리오 예제

상황 : 매일 200만 행 거래 로그를 OData로 가져와 전처리 후 피벗으로 일별 매출 보고서를 만든다.
문제 : 32‑bit Excel에서 1일치만 가져와도 ‘레코드 제한’ 오류 발생.
해결 :

  1. 회사 PC를 64‑bit Office 및 32 GB RAM 노트북으로 교체
  2. 매크로로 10만 행씩 페이징 호출 → 모델 적재 → 즉시 압축
  3. 파워 쿼리에서 미리보기 제한 해제 후 전체 데이터 시각화 성공

결과적으로 전처리 시간은 45 분 → 8 분으로 대폭 단축되었습니다.


요약 및 실전 팁

  • 레코드 제한 메시지는 행 한계, 메모리 한계, 미리보기 한계 3종류가 얽혀서 발생합니다.
  • 파워 쿼리 미리보기 제한 해제 → 데이터 모델 압축 → 페이징 로드 VBA 순으로 점검하면 90 % 이상 해결됩니다.
  • 장기적으로는 64‑bit Excel과 충분한 RAM이 가장 확실한 예방책입니다.
  • 정기 보고 작업이라면 위 매크로를 Windows 작업 스케줄러와 연동해 자동화하면 최적의 결과를 얻을 수 있습니다.
  • 마지막으로, 오늘 소개한 모든 단계는 회사 보안 규정 및 대역폭 제약을 반드시 고려하여 적용하세요.

이번 글이 여러분의 엑셀에서 “레코드 제한으로 인해 전체 데이터가 표시되지 않음” 오류 해결 여정을 확실히 단축해 주길 바랍니다. 성공적인 대용량 데이터 관리로 업무 효율을 극대화하세요!

반응형