구글 스프레드시트에서 쉽게 데이터 마트 만드는 함수 2가지

shimshim 2024. 7. 24. 21:55

 

구글 스프렏르시트를 사용하다 보면 다른 출처의 데이터를 그대로, 또는 일부만 옮겨 오고 싶을 때가 있다.
그렇다고 옮겨오고 싶을 때마다 원본 주소를 찾아가 복사/붙여넣기 하기엔 너무 비효율적이다.
이럴 때, 기존에 위치한 원본 데이터의 주소를 불러와 실시간으로 반영 시키는 방법이 크게 두 가지 있다.

 

1. IMPORTRANGE 함수

첫번째 함수는 importrange 함수다. 

기본 양식
=importrange(spreadsheet_url, range_string)

importrange 함수는 또 다른 구글 시트의 주소 및 데이터 범위를 불러오는 함수이다. 즉, 스프레드시트 툴 내의 데이터만 활용 가능하다는 것이다.
또 다른 특징으로는 해당 시트로 데이터를 불러오는 사람이 원천 데이터 주소의 접근 권한을 갖고 있어야 한다. 그렇지 않으면 데이터가 업데이트 되지 않으니 주의해야 한다.
또한 importrange함수로 업데이트 된 데이터를 중복으로 또 importrange해서 가져오거나, 또는 importrange 함수로 불러올 데이터 양이 많은 경우 업데이트 되지 않을 수 있다.
하나의 구글 시트 주소 내에서 최대 1천만 셀을 허용하기 때문에 이를 잘 참고하고 사용해야 한다. 
1천만 셀이 되지 않아도 불러오는 데이터 양이 많으면 에러가 날 수 있다. 컬럼 수에 따라 다르겠지만 체감상 8천-1만행 까지의 데이터는 무리없이 업데이트 되는 것으로 보여진다.

 

2. IMPORTDATA 함수

두번째 소개할 함수는 importdata 함수다.

기본양식
=importdata("url")

imortdata 함수는 importrange함수와 달리 외부 웹 주소(URL)에서 데이터를 가져와 구글 스프레드시트에 직접 삽입할 수 있다. url 형식은 주로 csv 파일이나 tsv 파일 등의 데이터 소스를 가리켜야 하며
https 또는 http 프로토콜을 사용해야한다.

importrange 함수가 스프레드시트 내의 데이터만을 가져올 수 있는 제한 사항이 있다면, importdata 함수는 외부 데이터를 자유롭게 업데이트 할 수 있기 때문에 그 활용 범위가 넓다. 또한 데이터가 있는 주소만 함수 수식에 삽입하면 되기 때문에 업데이트 방식도 굉장히 간단하다.
그러나 csv 또는 tsv 형식을 지켜줘야 한다는 점, url 접근 권한을 가져야 한다는 점, 외부 데이터를 가져오기 때문에 importrange 함수보다 업데이트 속도 측면에서 다소 떨어질 수 있다는 점 등을 주의해야 한다.

 


위에서 두 함수의 데이터 호출 방식의 특징들을 살펴 보았는데, 이렇게 불러온 데이터를 query 함수로 내가 원하는 부분만 조건을 업데이트 시킬 수 있다.
기존 호출 함수에 query함수까지 더하면 새로운 시트에 내가 원하는 정보만 담긴 데이터 마트를 구축할 수 있다.
따라서 시트 간 데이터 호출시에는 importrange 함수를, 외부 url 데이터 호출시에는 importdata 함수를 사용하여 데이터 마트를 최적화 해보자.