11편: 대용량 데이터 로딩 속도가 너무 느려졌다면? 가볍고 빠른 시트 다이어트 기술



안녕하세요. 구글 스프레드시트를 활용해 업무 자동화를 추진하다 보면 반드시 마주치는 벽이 있습니다. 바로 '속도'입니다. 처음에는 몇십 줄로 시작했던 데이터가 수만 줄로 늘어나고, 여기에 복잡한 함수와 스크립트가 얹어지면 어느 순간 시트를 열 때마다 로딩 바가 멈추지 않는 현상을 겪게 됩니다. 마우스를 스크롤하는 것조차 버거워지면 자동화의 의미가 퇴색되죠. 오늘은 느려진 시트에 새 생명을 불어넣는 실무 다이어트 기술을 공유합니다.


1. 내 시트가 느려지는 진짜 원인 파악하기

구글 스프레드시트는 웹 브라우저 기반으로 작동하기 때문에, 컴퓨터의 메모리와 구글 클라우드의 자원을 동시에 사용합니다. 시트를 무겁게 만드는 주범은 대개 눈에 보이지 않는 곳에 숨어 있습니다.

가장 흔한 원인은 '과도한 전체 열 참조'입니다. 예를 들어, 수식을 작성할 때 =SUM(A:A) 또는 =VLOOKUP(B2, Data!A:Z, 3, FALSE)와 같이 열 전체를 통째로 잡는 경우가 많습니다. 데이터가 100줄밖에 없더라도 구글 시트는 내부적으로 최대 행 수(기본 5만~50만 행) 전체를 계속 훑으며 계산을 반복합니다. 이런 수식이 수백 개 쌓이면 시트는 마비될 수밖에 없습니다.


2. 즉각적인 속도 개선을 위한 3단계 다이어트

첫째, 빈 행과 빈 열을 과감하게 삭제하세요. 구글 시트는 기본적으로 새 시트를 만들 때 1,000행을 제공합니다. 실제 사용하는 데이터가 50줄뿐이라면 나머지 950개의 빈 행도 메모리를 차지합니다. 데이터가 끝나는 행 아래를 전부 선택(Ctrl + Shift + ↓)한 뒤 마우스 우클릭으로 [행 삭제]를 해주세요. 열도 마찬가지입니다. 이 작업만으로도 파일 크기가 크게 줄어들고 로딩 속도가 체감될 정도로 빨라집니다.

둘째, 배열 함수(ARRAYFORMULA)를 전략적으로 활용하세요. 데이터가 늘어날 때마다 아래로 수식을 복사해서 붙여넣는 방식은 셀마다 개별적인 연산 과부하를 줍니다.

[배열 함수 전환 예시]

  • 기존 방식: C2부터 C1000까지 각각 =A2B2, =A3B3... 수식 반복 입력

  • 개선 방식: C2 셀 한 곳에만 =ARRAYFORMULA(A2:A1000 * B2:B1000) 입력

이렇게 하면 하나의 수식만으로 데이터 전체를 한 번에 계산하므로 시트가 내부적으로 처리해야 할 연산의 양이 획기적으로 줄어듭니다.

셋째, 조건부 서식의 남용을 줄이세요. 특정 조건에 따라 셀에 색상을 칠해주는 조건부 서식은 시각적으로 훌륭하지만, 화면을 스크롤하거나 데이터를 수정할 때마다 실시간으로 모든 셀의 조건을 다시 계산합니다. 꼭 필요한 핵심 요약 행이나 대시보드 화면에만 최소한으로 적용하는 것이 좋습니다.


3. 실무자가 놓치기 쉬운 한계와 주의사항

시트 최적화를 진행할 때 주의할 점은 '과거 데이터의 보존 방식'입니다. 1년 전, 2년 전의 데이터는 굳이 실시간 수식으로 연결해 둘 필요가 없습니다. 이미 계산이 끝난 과거의 데이터 영역은 범위를 지정하여 복사(Ctrl + C)한 뒤, [선택하여 붙여넣기] -> [값만 붙여넣기]를 통해 수식을 완전히 제거해 주는 것이 안전합니다. 수식을 값으로 고정하면 향후 원본 데이터가 바뀌더라도 과거 기록이 변형되는 실수를 막을 수 있고, 시트의 연산 부담도 완벽하게 사라집니다.

또한, 외부 데이터를 실시간으로 긁어오는 IMPORTXML이나 GOOGLEFINANCE 같은 함수들은 일정 주기마다 강제로 재호출이 일어나므로, 대용량 시트 안에서는 사용을 극도로 제한해야 합니다.


4. 마치며: 가벼운 시트가 최고의 자동화를 만듭니다

저도 처음에는 화려하고 복잡한 수식을 한 시트에 다 집어넣는 것이 실력인 줄 알았습니다. 하지만 진짜 고수들은 시트를 가장 단순하고 가볍게 유지합니다. 연산 속도가 빨라야 우리가 배치해 둔 매크로나 앱스 스크립트도 에러 없이 매끄럽게 돌아갑니다. 오늘 알려드린 빈 행 삭제와 값 붙여넣기부터 하나씩 실천해 보시길 바랍니다.

핵심 요약

  • 시트가 느려지는 주원인은 데이터가 없는 빈 행·열의 방치와 열 전체(A:A)를 참조하는 비효율적인 수식 남용이다.

  • 빈 행과 열을 찾아 물리적으로 삭제하고, 반복되는 수식은 ARRAYFORMULA(배열 함수)로 단일화하여 연산량을 줄인다.

  • 연산이 완료된 과거 데이터는 '값만 붙여넣기'로 수식을 제거하여 고정하고, 조건부 서식은 대시보드 위주로 최소화한다.


다음 편 예고

다음 12편에서는 가벼워진 시트를 바탕으로, 버튼 클릭 한 번에 복잡한 테이블 데이터를 깔끔한 PDF 보고서 파일로 변환하여 내 구글 드라이브에 자동 저장하는 실전 Apps Script 구현법을 알아봅니다.


현재 업무에서 사용하시는 시트 중 로딩이 3초 이상 걸리는 무거운 파일이 있으신가요? 주로 어떤 함수(VLOOKUP, SUMIFS 등)를 가장 많이 쓰고 계시는지 댓글로 남겨주세요!

댓글 쓰기

자유롭게 질문해주세요. 단, 광고성 댓글 및 비방은 사전 통보 없이 삭제됩니다.

다음 이전