퍼포마의 야근근절을 위한 코딩

구글 스프레드시트(Google Spreadsheet) - importrange 함수 설명 및 활용예시

인생은스트러글 2022. 9. 5. 07:39

[목차]

0. 여는 말

1. importrange 함수 소개

2. 활용 예시

3. 맺는 말

 


 

0. 여는 말

 

지난 글에서 '구글 스프레드시트 (Google Spreadsheet) URL의 구조, 구성요소의 의미 및 활용도'에 대해 알아보았는데요 (아래 글 참조),

 

구글 스프레드시트 (Google Spreadsheet) URL의 구조, 구성요소의 의미 및 활용도

[목차] 0. 여는 말 1. Google Spreadsheet URL 구조 2. Google Spreadsheet URL 구성요소의 의미 3. Google Spreadsheet URL 구성요소의 활용도 4. 맺는 말 0. 여는 말 지난 글에서 URL의 뜻과 구조, 그리고 파라..

lifeisstruggle.tistory.com


오늘은 스프레드시트 URL의 구성요소를 활용하는 실제 사례를 한 가지 들어보려 합니다.

바로 importrange 함수인데요, 이 함수는 두 가지 데이터 (스프레드시트ID, 데이터 범위)를 입력값으로 받아 해당 범위의 데이터를 출력값으로 반환합니다.
이 과정에서 URL이 어떻게 활용되는지 살펴보도록 하겠습니다.

 

글 시작하겠습니다!

 


 

1. importrange 함수 소개

 

구글 스프레드시트의 importrange 함수는 말 그대로 특정 범위(range)의 데이터를 그대로 가져오는(import) 함수입니다. 이 함수는 '스프레드시트ID'와 '데이터 범위', 이렇게 두 개의 인자(factor)를 입력값(input)으로 받습니다.

 

다른 스프레드시트에서 데이터를 가져오는 IMPORTRANGE 함수 (사진 클릭 시 원문 페이지로 이동)

 

1) 스프레드시트_URL

여기서 스프레드시트 URL은 2가지 형태로 표현될 수 있습니다. 첫 번째는 URL 전체, 두 번째는 스프레드시트ID만을 추출하는 것입니다.

 

(1) URL 전체

이 경우, 해당 URL은 스프레드시트ID뿐만 아니라 특정 시트까지 지정한다는 의미를 가지게 됩니다.
(같은 스프레드시트라도 시트들 간 이동해보면 URL 맨 뒷부분이 바뀌어, 결국 시트들마다 URL이 다르다는 것을 확인하실 수 있습니다)

따라서, importrange 함수의 두 번째 인자(factor)로 데이터 범위 입력 시, 시트를 지정할 필요 없이 바로 데이터 범위만을 지정해 줄 수 있습니다.
(ex. B2:E5 )
(스프레드시트 내 시트 이동에 따른 변화를 자세히 알고 싶으신 분은 아래 글에서 '1. 1개의 스프레드시트 내 여러 개의 시트들 비교' 부분을 참고해 주세요 :))

 

 

URL 비교 - 구글 스프레드시트 (Google Spreadsheet) & 구글 프레젠테이션 (Google Presentation) (1/2)

[목차] 0. 여는 말 1. 1개의 스프레드시트 내 여러 개의 시트들 비교 2. 여러 개의 스프레드시트들 비교 3. 맺는 말 0. 여는 말 이번 글에서는 URL의 구성 요소들이 어떤 의미들을 가질 수 있고, 그에

lifeisstruggle.tistory.com

 

(2) 스프레드시트ID

이 경우, 스프레드시트만을 특정할 뿐 어떤 시트 하나를 특정하지는 않습니다. 따라서, 데이터 범위 입력 시 시트까지 함께 특정해 주어야 합니다.
(ex. '시트1'!B2:E5 )

 

 

2) 범위_문자열

위에서 설명드린 것처럼 'URL 전체'를 사용한 경우에는 데이터 범위만을, '스프레드시트ID'를 사용한 경우에는 시트명과 함께 데이터 범위를 입력해 주어야 합니다.

 


2. 활용 예시

 

위 내용의 이해를 돕기 위해 간단한 예시를 하나 들어보겠습니다.

 

우리는 'spreadsheet_example_01'과 'spreadsheet_example_02'라는 두 개의 스프레드시트를 다룰 것이고, 'spreadsheet_example_02'의 데이터를 'spreadsheet_example_01'로 가져올 것입니다.

 

대략 이런 느낌,,

 

1) URL 전체로 가져오기

먼저 URL 전체를 활용하여 데이터를 가져와 보겠습니다.

URL 전체를 활용하면 importrange 함수 내용은 아래와 같을 것입니다.

 

=importrange("https://docs.google.com/spreadsheets/d/1wXiD5lRbL4osJfuddjclC5sBly-lwvXgYi_QiZ6wlXk/edit#gid=0", "B2:E5")

 

'spreadsheet_example_02'의 URL 전체를 가져와서
'spreadsheet_example_01'의 importrange 함수에 넣어주면 데이터를 불러올 수 있습니다!

 

URL 전체에는 스프레드시트ID 뿐 아니라 시트 정보까지 모두 담겨 있으므로, 데이터 범위에 시트 정보 없이 셀 정보만 입력해도 정상적으로 데이터가 불러와지는 것을 볼 수 있습니다.
("'시트1'!B2:E5"처럼 표기하지 않고 "B2:E5"처럼만 표기해도 된다는 의미입니다)

 

2) 스프레드시트ID만으로 가져오기

다음은 스프레드시트ID만을 활용하여 데이터를 가져오는 경우입니다.

스프레드시트ID만을 활용하면 importrange 함수 내용은 아래와 같을 것입니다.

 

=importrange("1wXiD5lRbL4osJfuddjclC5sBly-lwvXgYi_QiZ6wlXk", "'시트1'!B2:E5")

 

'spreadsheet_example_02'의 스프레드시트ID를 가져와서
'spreadsheet_example_01'의 importrange 함수에 넣어주면 데이터를 불러올 수 있습니다!

 

첫 번째 경우와 달리 스프레드시트ID만 있을 뿐 시트 정보는 별도로 주어지지 않았으므로, 데이터 범위에 시트 정보까지 함께 특정해 주어야 한다는 점이 주요한 차이점입니다.
("'시트1'!B2:E5"처럼 시트 정보를 함께 표기해야 한다는 의미입니다)

 

이렇게 두 가지 방법을 통해 다른 스프레드시트에 있는 데이터를 가져올 수 있습니다.

 


3. 맺는 말

 

이번 글에서는 URL의 구성요소가 실제로 어떻게 활용될 수 있는지, 구글 스프레드시트의 importrange 함수를 통하여 알아보았습니다.

이번 글에서 다뤘던 개념들을 이해하고 활용할 수 있다면, 추후 크롤링 등을 할 때에도 확장 적용이 가능합니다.

예를 들면, 쿠팡의 상품 URL에서 상품정보 파라미터 부분을 바꿔가면서 상품별 특정 내용 (ex. 가격, 리뷰, 별점)을 수집할 수도 있고, 카테고리별 뉴스들을 수집할 수도 있으며, 숙박예약 플랫폼 URL에서 날짜 파라미터를 바꿔가면서 특정일자의 숙박 정보를 수집할 수도 있습니다.

(파라미터가 뭔지 궁금하시다면 아래 글의 '3. 파라미터 ' 부분을 참고해 주세요 :))

 

URL - 뜻, 구조, 그리고 파라미터

[목차] 0. 여는 말 1. URL의 뜻 2. URL의 구조와 구성 요소 3. 파라미터 4. 맺는 말 0. 여는 말 이번 글에서는 'URL'에 대해 얘기해 보려 합니다. 아마 많은 분들께서 들어본 적이 있고 간단한 설명은 가능

lifeisstruggle.tistory.com

 

그만큼 확장 가능성이 큰 개념이기 때문에, 이번 글의 활용 사례를 통해 URL에 대한 이해도를 높여 가셨으면 좋겠습니다.

읽으시면서 이해가 어려웠던 부분이 있으셨다면, 댓글로 문의 남겨주시면 최대한 자세히 답변드리겠습니다 :)

 

그러면 오늘 글은 여기서 마치겠습니다.

오늘도 긴 글 읽으시느라 고생 많으셨습니다!

 

우리들의 스트러글(struggle)하는 현생, 화이팅입니다!
반응형