구글 스프레드시트 IMPORTRANGE #REF! 해결: 권한·범위·갱신 지연
구글 스프레드시트에서 IMPORTRANGE가 처음부터 #REF!를 표시한다면 수식 오타가 아니라 원본과 대상 파일의 첫 연결 권한을 기다리는 상태일 수 있습니다. 원본 파일을 열 수 있는 계정인지 확인한 뒤 액세스 허용을 누르면 지정한 범위가 대상 시트에 펼쳐집니다. 권한을 허용한 뒤에도 오류가 남거나 새 행만 빠진다면 URL·시트명·범위 끝을 이 순서로 확인하세요.
아래 과정은 PC 웹에서 원본 파일의 월별매출!A1:C7과 대상 파일의 가져온매출!A1을 직접 만들어 재현했습니다. 최초 권한 #REF!, 존재하지 않는 시트명 오류, 닫힌 범위 끝에서 빠진 7행, 범위 확장 뒤 복구 결과를 같은 예제로 확인합니다.

- 첫 연결: 원본 파일 접근 가능 여부와 ‘액세스 허용’ 버튼 확인
- 권한 허용 뒤 #REF!: 원본 URL, 시트명, 셀 범위 확인
- 새 행만 누락: A1:C6처럼 닫힌 범위의 마지막 행 확인
- 값이 늦게 바뀜: 긴 연결 체인, 가져오는 데이터량, 원본 계산 완료 여부 확인
IMPORTRANGE 결과를 결정하는 네 요소
IMPORTRANGE는 다른 스프레드시트 파일의 범위를 현재 파일로 가져오는 함수입니다. 같은 파일 안의 다른 탭을 참조하는 일반 셀 참조와 달리, 파일 사이에서 데이터를 읽으므로 URL과 권한이 함께 맞아야 합니다.
=IMPORTRANGE("원본_스프레드시트_URL","'월별매출'!A1:C6")
| 요소 | 예제 | 틀리면 보이는 증상 |
|---|---|---|
| 원본 URL | 원본 파일의 전체 주소 | 파일을 찾지 못하거나 권한 오류 |
| 시트명·범위 | '월별매출'!A1:C6 | 가져온 범위나 시트를 찾지 못함 |
| 연결 권한 | 액세스 허용 | 첫 연결 #REF! |
| 범위 끝 | C6 또는 C7 | 새 행만 결과에서 빠짐 |
범위 문자열에서 시트명은 생략할 수 있지만, 그러면 첫 번째 시트가 기본값이 됩니다. 파일에 탭이 여러 개라면 시트명을 명시하는 편이 안전합니다. 탭 이름에 공백이나 한글이 있을 때는 예제처럼 시트명을 작은따옴표로 감싸면 범위를 구분하기 쉽습니다.
처음 연결할 때 #REF!는 어떻게 풀나요?
새 원본 파일을 대상 파일에서 처음 가져오면 Google Sheets는 두 파일을 바로 연결하지 않습니다. 원본에 접근할 수 있는 사용자가 대상의 IMPORTRANGE 셀에서 권한을 한 번 허용해야 합니다.
- 원본 파일 URL을 브라우저에서 열어 현재 계정이 내용을 볼 수 있는지 확인합니다.
- 대상 파일 A1에 IMPORTRANGE 수식을 입력합니다.
- #REF! 셀을 가리켜 “이 스프레드시트를 연결해야 합니다” 문구를 확인합니다.
- 액세스 허용을 누릅니다.
- A1:C6에 헤더와 다섯 지점이 펼쳐지는지 확인합니다.

내가 소유하지 않은 원본이라면 먼저 원본 소유자에게 접근 권한을 요청해야 합니다. 단순히 수식만 다시 입력해도 원본을 볼 권한이 생기지는 않습니다.
이번 화면과 버튼 위치는 PC 웹에서 확인했습니다. Google의 IMPORTRANGE 도움말은 Android와 iPhone·iPad의 첫 권한 버튼 위치를 별도로 설명하지 않으므로, 모바일 앱에서 같은 흐름을 찾기 어렵다면 PC 웹에서 첫 연결을 완료한 뒤 모바일에서는 결과를 확인하는 편이 분명합니다.
권한 허용 뒤 #REF!가 남으면 어디를 보나요?
액세스를 허용한 뒤에도 #REF!가 남는다면 권한 버튼을 반복해서 찾지 말고 오류 문구를 읽으세요. 이 예제에서 시트명을 실제 월별매출 대신 존재하지 않는 월별매출_없음으로 바꾸자 “가져온 범위에 대한 범위 또는 시트를 찾을 수 없습니다”가 표시됐습니다.

| 증상 | 가장 먼저 볼 곳 | 복구 |
|---|---|---|
| 액세스 허용 버튼이 보임 | 첫 연결 여부 | 원본 접근권한 확인 뒤 한 번 허용 |
| 범위·시트를 찾지 못함 | URL, 탭 이름, 띄어쓰기, 셀 주소 | 원본 탭에서 이름과 끝 행을 다시 복사 |
| #ERROR!와 휘발성 함수 문구 | NOW·RAND·RANDBETWEEN 참조 | 결과를 값으로 고정해 그 정적 셀을 참조 |
| 배열이 펼쳐지지 않음 | 대상 결과 범위의 기존 값 | 기록을 옮긴 뒤 결과 범위를 비움 |
마지막 경우는 IMPORTRANGE만의 권한 문제가 아니라 배열 결과가 펼쳐질 공간의 문제입니다. 대상 범위에 수동값이 있다면 바로 지우지 말고 다른 열에 복사한 뒤, ARRAYFORMULA의 #REF! 방해 셀을 안전하게 확인하는 순서처럼 결과 범위를 먼저 비워 보세요.
새 행만 빠질 때 범위 끝을 어떻게 고치나요?
원본이 정상이고 기존 행도 보이는데 새 행만 빠진다면 갱신 지연보다 범위의 마지막 행을 먼저 확인하세요. 원본 7행에 인천 매출 910,000원을 추가해도 수식이 A1:C6이면 그 행은 범위 밖이므로 대상에 나타나지 않습니다.
기존: =IMPORTRANGE("원본_URL","'월별매출'!A1:C6")
복구: =IMPORTRANGE("원본_URL","'월별매출'!A1:C7")

Google은 성능을 위해 A:C 같은 열린 전체 열보다 A1:C1000 같은 닫힌 범위를 권장합니다. 운영표가 계속 늘어난다면 전체 열을 무조건 열기보다 예상 최대 행까지 여유 있는 닫힌 범위를 정하고, 그 경계에 가까워질 때 늘리는 방식이 속도와 누락 방지를 함께 관리하기 쉽습니다.
데이터가 늦게 바뀔 때 새로고침부터 하면 안 되는 이유
IMPORTRANGE는 원본 범위의 계산이 끝난 뒤 결과를 대상에 반환합니다. 원본 A를 B가 가져오고, 다시 C가 B를 가져오는 식으로 연결이 길어지면 앞 문서의 계산을 기다려야 하므로 뒤 문서의 반영도 늦어질 수 있습니다.
- 브라우저 새로고침: 공식 도움말은 문서를 열고 새로고침하는 동작 자체가 IMPORTRANGE 갱신을 트리거하지 않는다고 설명합니다.
- 열린 문서: 문서가 열려 있는 동안 수식과 스프레드시트가 바뀌지 않아도 매시간 업데이트를 확인합니다.
- 연결 체인: A → B → C처럼 단계가 많을수록 원본 변경이 끝까지 도달하는 시간이 길어질 수 있습니다.
- 순환 연결: A가 B를, B가 다시 A를 가져오면 서로 기다리는 루프가 생겨 실제 데이터가 나오지 않을 수 있습니다.
따라서 값이 늦을 때는 새로고침을 반복하기보다 원본 셀의 계산이 끝났는지, 범위가 맞는지, 연결 체인이 몇 단계인지부터 확인하세요. 고정 시각에 반드시 갱신해야 하는 업무라면 IMPORTRANGE만으로 시간 보장을 가정하지 말고 Apps Script나 예약 새로고침을 지원하는 다른 도구를 검토해야 합니다.
10MB 한도와 느린 연결을 어떻게 줄이나요?
Google 공식 도움말은 IMPORTRANGE의 요청당 수신 데이터 용량을 10MB로 제한합니다. 같은 소유자, 같은 브라우저, 같은 드라이브의 파일이어도 스프레드시트 사이 참조는 인터넷을 거치므로 데이터량과 네트워크 상태의 영향을 받습니다.
| 느린 구조 | 바꿀 구조 | 이유 |
|---|---|---|
| A:Z 전체 열 가져오기 | A1:F1000처럼 필요한 범위만 지정 | 빈 셀까지 읽는 일을 줄임 |
| 100만 행을 가져온 뒤 대상에서 합계 | 원본에서 합계를 계산해 숫자 하나만 가져오기 | 전송 전에 압축·집계 |
| 같은 원본을 여러 IMPORTRANGE로 반복 | 한 번 가져온 뒤 대상 파일 안에서 재참조 | 외부 호출 수를 줄임 |
| 여러 중간 파일을 직렬 연결 | 가능하면 원본에서 최종 대상까지 단순화 | 대기 체인을 줄임 |
공유 권한에서 놓치기 쉬운 예외는 무엇인가요?
- 연결 권한은 허용한 사용자가 원본 파일의 공유 대상에서 제거될 때까지 유지됩니다.
- 대상 파일에 부여된 IMPORTRANGE 액세스는 원본 파일의 사용자 공유 한도 600명에 포함됩니다.
- 원본에서 다운로드·인쇄·복사를 제한하면 그 뒤 새 IMPORTRANGE 수식으로 데이터를 내보낼 수 없습니다. 제한 전에 만들어진 기존 수식은 계속 작동할 수 있습니다.
- 권한 허용은 서식 복사 기능이 아닙니다. IMPORTRANGE는 가져온 값 범위를 만들며, 원본의 셀 색·열 너비·드롭다운을 같은 모습으로 복제하는 용도로 보지 않는 편이 안전합니다.
민감한 원본을 연결할 때는 대상 파일의 편집자 목록과 원본의 공개 범위를 함께 확인하세요. 보기 전용 보고서가 목적이라면 대상 파일의 편집 권한을 최소화하고, 원본에서 필요한 열만 정리한 중간 범위를 만들어 연결하는 방식이 낫습니다.
지금 적용할 복구 순서
- 원본 URL을 직접 열어 현재 계정의 접근 권한을 확인합니다.
- 수식의 원본 URL, 시트명, 범위 문자열을 원본 화면과 한 글자씩 맞춥니다.
- 첫 연결 #REF!라면 액세스 허용을 한 번 누릅니다.
- 기존 행은 보이는데 새 행만 빠지면 닫힌 범위의 끝 행을 늘립니다.
- 대상 결과 범위에 수동값이 있으면 먼저 복사해 보존한 뒤 비웁니다.
- 정상 결과가 나오면 원본 값 하나를 시험 변경해 연결 방향과 반영 상태를 확인합니다.
- 느리면 범위를 줄이고, 원본에서 먼저 집계하고, 연결 체인을 단순화합니다.