얼마 전, 제가 IMPORTRANGE를 써서 데이터를 불러오는데, 데이터 양이 너무 많아서 특정 날짜 이후의 데이터만 보고 싶었던 경험이 있습니다. 구글시트 IMPORTRANGE 오류 해결 방법 총정리 (권한·QUERY·날짜 오류)

처음에는 QUERY 함수를 잘 몰라서 일단 데이터를 전부 불러온 다음 수동으로 필터링해서 가공하곤 했습니다. 그런데 삽질 끝에, QUERY 함수를 IMPORTRANGE와 조합하면 원하는 특정 일자 이후의 데이터만 효율적으로 불러올 수 있다는 걸 알게 됐죠.

하지만 막상 적용해보니 여전히 작동하지 않는 사례들이 많았습니다. 그래서 그 시행착오들을 이 글에서 정리해보고자 합니다.

 

제가 구글시트에서 QUERY 함수를 쓸 때, 날짜 조건은 분명히 제대로 입력한 것 같은데 결과가 나오지 않는 경우가 빈번했습니다.

 

예를 들어:

=QUERY(A2:C100, "select A, B where A >= date '2025-01-01'")

 

이렇게 작성했는데:

 

  • 결과가 0건으로 나오거나
  • 제가 설정한 조건이 무시되거나
  • 오류 없이 잘못된 값이 나오는 경우

 

실제로 제가 실무에서 대시보드나 보고서를 만들 때

가장 많이 부딪혔던 지점이 바로 날짜 타입 문제였습니다.

 

그래서 저는 이 글에서 단순히 ‘이렇게 하세요’가 아니라

‘왜 이런 문제가 생기는지’부터 시작해서 ‘제가 이 문제를 어떻게 구조적으로 해결했는지’ 그 과정을 자세히 정리해보려 합니다. 덕분에 데이터 처리 시간이 2시간에서 20분으로 확 줄었습니다.


자주 묻는 질문

Q. 제가 구글시트 IMPORTRANGE 오류에서 가장 흔히 했던 실수는?

구글시트 IMPORTRANGE 오류 사용 시 제가 가장 흔히 했던 실수는 기본 설정을 제대로 확인하지 않는 것이었습니다. 저는 일단 공식 문서의 기본 예제부터 차근차근 따라 해보는 것을 권장합니다.

Q. 제가 공유하는 이 방법이 최신 버전에서도 동작하나요?

네, 제가 경험하고 검증한 내용은 2026년 기준으로 최신입니다. 버전 업데이트에 따라 UI가 다를 수 있으니 참고하세요.

핵심 정리: ① 구글시트 IMPORTRANGE와 QUERY 조합 시 날짜 데이터가 TEXT로 변환되는 문제가 발생한다. ② QUERY 함수는 날짜 데이터를 DATE 타입으로 인식해야 정상적으로 필터링한다. ③ date() 함수 또는 VALUE() 함수를 사용하여 날짜 타입을 명시적으로 변환하는 것이 중요하다.

QUERY 함수에서 날짜가 작동하는 방식

 

QUERY 함수에서 날짜가 작동하는 방식은 SQL과 유사한 문법으로 날짜 조건을 처리하는 것을 의미한다.

QUERY 함수는 내부적으로

제가 사용해 본 SQL과 유사한 문법으로 데이터를 처리하더군요.

 

날짜 조건을 넣으면 내부적으로 이렇게 해석된다고 제가 파악했습니다:

Col1 >= date 'YYYY-MM-DD'

 

여기서 제가 중요하게 깨달았던 점은:

 

👉 Col1이 반드시 DATE 타입이어야 한다는 것입니다.

 

만약 Col1이 TEXT라면

QUERY는 날짜 비교 대신 문자열 비교를 시도하거나

아예 제가 설정한 조건을 무시해버리는 것을 경험했습니다.


왜 날짜가 TEXT로 바뀌는가?

 

날짜가 TEXT로 바뀌는 현상은 구글시트에서 날짜 형식이 문자열로 자동 변환되는 상황을 말한다.

제가 겪었던 바로는 다음과 같은 상황에서 날짜가 TEXT로 인식되곤 했습니다:

 

  • 외부 시트에서 복사한 데이터
  • CSV 업로드
  • IMPORTRANGE로 가져온 데이터
  • ARRAYFORMULA 가공 과정

 

겉보기에는 완벽한 날짜처럼 보였지만

실제 내부 데이터 타입은 문자열인 경우가 많았습니다.


날짜 타입 확인 방법 (실무 필수)

 

날짜 타입 확인 방법은 구글시트 함수를 이용해 셀에 입력된 날짜 데이터가 실제 날짜 타입인지 문자열 타입인지 검증하는 과정이다.

저는 다음 함수들을 사용해서 실제 데이터 타입을 확인하곤 했습니다.

=ISTEXT(A2)
=ISDATE(A2)
=TYPE(A2)

 

TYPE 결과:

  • 1 → 숫자
  • 2 → 텍스트

 

제가 알게 된 것은 구글시트에서 날짜는

실제로는 숫자(시리얼 값)로 저장된다는 점입니다.

 

즉:

  • TYPE=1 → 정상 날짜
  • TYPE=2 → TEXT 날짜

대표 오류 사례 1 – 조건이 무시되는 경우

=QUERY(A2:C100,
 "select A, B where A >= date '2025-01-01'")

 

조건이 무시되는 오류 사례는 QUERY 함수에서 날짜 조건이 제대로 작동하지 않고 필터링이 안 되는 현상을 의미한다.

Col1이 TEXT라면 제가 겪었던 현상은:

  • 결과 0건
  • 일부 데이터만 표시
  • 오류 없이 잘못된 결과

✅ 해결 방법 1: date() 함수로 감싸기

=QUERY(A2:C100,
 "select A, B where date(A) >= date '2025-01-01'")

 

date() 함수로 감싸는 해결 방법은 QUERY 함수 내에서 TEXT 타입의 날짜 열을 date 함수로 명시적으로 변환하여 날짜 조건이 올바르게 적용되도록 하는 것이다.

제가 이 방법을 써보니, TEXT 형태의 날짜도 제대로 날짜로 강제 변환되어 인식되는 것을 확인했습니다.


✅ 해결 방법 2: 원본 데이터를 DATE로 통일

  • 서식 → 숫자 → 날짜
  • VALUE() 함수 적용
=VALUE(A2)

IMPORTRANGE + QUERY 조합에서 발생하는 날짜 오류

 

IMPORTRANGE + QUERY 조합에서 발생하는 날짜 오류는 외부 시트에서 가져온 날짜 데이터가 문자열로 인식되어 QUERY 함수 조건이 올바르게 적용되지 않는 현상이다.

실무에서 제가 가장 많이 쓰는 패턴입니다:

=QUERY(
 IMPORTRANGE("URL","Sheet1!A:C"),
 "select Col1 where Col1 >= date '2025-01-01'"
)

 

여기서 제가 겪었던 문제는:

 

IMPORTRANGE가 외부 데이터를

문자열 상태로 가져오는 경우가 많았기 때문입니다.


✅ 안정적인 해결 패턴

=QUERY(
  IMPORTRANGE("URL","Sheet1!A:C"),
  "select Col1 where date(Col1) >= date '2025-01-01'",
  1
)

실무 시나리오 예시

📊 예시 1 – 월간 매출 보고서

 

월간 매출 보고서 예시는 IMPORTRANGE와 QUERY를 활용하여 월별 데이터를 필터링하는 실무 시나리오이다.

조건:

  • 제가 이번 달 데이터만 보려고 했지만

문제:

  • 날짜 조건이 자꾸 무시되었습니다.

원인:

  • 외부 시트에서 가져온 날짜가 TEXT 형식이었기 때문이더군요.

해결:

  • date(Col1)을 적용하거나
  • 원본 시트의 날짜 서식을 통일시켜서 해결했습니다.

📊 예시 2 – 주간 보고서 자동화

 

주간 보고서 자동화 예시는 IMPORTRANGE와 QUERY를 통해 매주 업데이트되는 데이터를 처리하는 실무 시나리오이다.

매주 월요일 자동 업데이트를 시도했습니다.

 

문제:

  • 제가 겪은 건 일부 날짜만 필터링되는 현상이었고

원인:

  • 날짜와 시간 데이터가 혼합되어 있었기 때문이었습니다.

해결:

  • DATE() 함수로 시간을 제거하니 제대로 작동했습니다.
where DATE(Col1) >= date '2025-01-01'

DATE vs TEXT 비교 표

항목 DATE TEXT
내부 저장 숫자 문자열
비교 연산 정상 오류/무시
TYPE 값 1 2
해결 방법 유지 VALUE, date()

성능과 안정성 팁

 

성능과 안정성 팁은 구글시트 IMPORTRANGE 및 QUERY 사용 시 효율성을 높이고 오류를 줄이는 실용적인 조언이다.

✔ 저는 전체 열 A:A 대신 필요한 범위만 지정해서 사용했습니다.

✔ 항상 범위를 최소화하려고 노력했습니다. (예: A2:A5000)

✔ 날짜 열은 QUERY 전에 미리 가공해서 타입을 맞춰두는 것이 좋다는 것을 배웠습니다.

✔ IMPORTRANGE를 사용할 때는 항상 먼저 권한 승인을 해줘야 했습니다.


FILTER vs QUERY 비교

 

FILTER vs QUERY 비교는 두 함수 각각의 특징과 날짜 필터링 상황에서의 적합성을 설명하는 것이다.

날짜 조건만으로 데이터를 필터링해야 할 때는 FILTER 함수가 QUERY보다 훨씬 단순하고 빠르게 작동하는 것을 제가 경험했습니다.

=FILTER(A2:C100, A2:A100 >= DATE(2025,1,1))

 

QUERY는:

 

  • 그룹화
  • 정렬
  • 복합 조건

 

이 필요할 때 제가 주로 사용합니다.


🔎 최종 체크리스트

 

최종 체크리스트는 구글시트 IMPORTRANGE 및 QUERY 날짜 오류를 방지하기 위한 필수 확인 사항들을 정리한 목록이다.

✔ 저는 항상 날짜 열의 TYPE을 먼저 확인합니다.

✔ TEXT로 확인되면 VALUE 함수를 적용해줍니다.

✔ IMPORTRANGE를 사용할 때는 date() 함수 적용을 잊지 않습니다.

✔ 데이터 범위를 항상 최소화하려고 합니다.

✔ 날짜+시간 데이터인 경우 DATE()로 시간을 제거했는지 확인합니다.


마무리

 

마무리는 구글시트 QUERY 날짜 오류 해결 과정에서 얻은 핵심 교훈을 요약하고 향후 계획을 밝히는 것이다.

제가 겪었던 QUERY 날짜 오류의 핵심은

함수 문법의 문제가 아니라 데이터 타입에 대한 이해 부족이었다는 것을 깨달았습니다.

 

실무에서 제가 체감한 것은, 단순히 수식을 암기하는 것보다

데이터 구조를 명확히 이해하는 것이 훨씬 더 중요하다는 사실입니다.

 

앞으로도 저는 구글시트·빅쿼리·Looker Studio를 사용하면서

제가 실제로 막혔던 문제들을 어떻게 해결했는지, 그 경험들을 구조적으로 정리해서 공유할 예정입니다.

💬 이 글이 여러분에게 도움이 되셨다면

구글시트 IMPORTRANGE 오류 관련 궁금한 점이나 더 알고 싶은 내용이 있다면 댓글로 남겨주세요! 실무에서 겪은 경험을 공유해 주시면 저도 많은 도움이 될 것 같습니다.

💬 이 글이 도움이 되셨다면

구글시트 IMPORTRANGE 오류 관련 궁금한 점이나 더 알고 싶은 내용이 있다면 댓글로 남겨주세요! 실무에서 겪은 경험을 공유해 주셔도 좋습니다.

+ Recent posts