[Sheets] IMPORTRANGE 함수 범위 불러오기 오류 해결하기

sonhm·2021년 5월 13일
0
post-custom-banner

활용도가 높은 Gsuite는 스타트업에게 큰 힘이 되지만, 간간히 오류를 일으키기에 고민이 될 때도 있다. importrange문은 논리적인 문제가 없을 때도 오류가 종종 생기곤 하는데, 이는 구글 내부의 문제로써 유저가 해결하기 어려운 부분이 있다.

골치 아픈 importrange 오류

오류화면

이럴 때 대응방법으로 활용하는 것이 IFERROR문과 IMPORT문의 조합이다.

B2가 참조할 시트의 스프레드시트의 URL주소이고, C3가 범위 문자열이라고 한다면 , 통상 다음의 방법으로 시트를 불러올 것이다.

B2 : URL 주소
B3 : R7!A$2:A
IMPORTRANGE(B2,B3)

하지만 여기서 오류가 발생할 확률이 생긴다. 범위 오류가 생기는 여러가지 이유 중 가장 큰 문제는 바로 범위 문자열의 대소문자 구분 이슈에서 온다.

따라서 IFERROR문을 활용해 에러가 날 경우, 대소문자를 모두 탐지하여 IMPORT 해올 수 있도록 쿼리를 짠다.

우선, 대소문자 경우의 수를 대비하여 참조 주소를 세팅해둔 후,

B2 : URL 주소
B3 : R7!A$2:A
C3 : R7!A$2:a
D3 : R7!a$2:A
E3 : R7!a$2:a
F3 : r7!A$2:A
G3 : r7!a$2:A
H3 : r7!A$2:a
I3 : r7!a$2:a

IFERROR문으로 에러가 날 경우, IMPORT를 계속 수행할 수 있도록 쿼리를 짜준다.

원리는 내부 불러오기 에러가 발생한 경우, 시트 내에 강제적으로 다른 범위로 계산케 해주는 것이다.

1번에 오류로 멈춰있을 시트가 이렇게 되면 강제적으로 4번 연산이 되므로, 오류가 줄 확률이 많이 줄어든다.

=
IFERROR(
IFERROR(
IFERROR(
IFERROR(
IFERROR(
IFERROR(
IFERROR(IMPORTRANGE(B2,B3),IMPORTRANGE(B2,C3)),
IMPORTRANGE(B2,D3)),IMPORTRANGE(B2,E3)),
IMPORTRANGE(B2,F3)),IMPORTRANGE(B2,G3)),
IMPORTRANGE(B2,H3)),IMPORTRANGE(B2,I3))

~~해당 반복문이 모든 문제를 해결해주지 않지만, 가장 확실한 문제 해결 방법이다. ~~ (업데이트 내용을 통해서 해결함)

UPDATE (20-04-08)

위의 방법으로 모든 문제가 해결되지 않았다. 다음의 문제가 해결되지 않은 이유를 살펴보니, 강제 반복계산이 수행되지 않고 있었다는 사실을 발견했다.

자동 반복계산을 수행케하기 위해서 다음의 방법을 시도해보았다.

  1. 범위참조주소를 업데이트 시켜주는 쿼리를 짬으로써, 시트 계산 트리거가 발현할 수 있도록 함.
    1
  1. 파일 > 스프레드시트 설정 > 반복계산 사용으로 시트 내 반복 계산을 활성화함. (시트내 순확종속성 오류를 해결하기 위해 스프레드시트 설정의 반복계산을 허용)
    2

오류가 해결된 모습
3

profile
기발한 기발자
post-custom-banner

1개의 댓글

comment-user-thumbnail
2021년 12월 13일

안녕하세요! 혹시 트리거 수식이 어떻게 작성되었는지 알수 있을까여? 아니면 샘플 파일이라도 꼭 부탁드립니다. ㅠㅠ importrange 오류가 해결이 되질 않아요 ㅠ

답글 달기