Google Workspace

구글 시트에서 실시간 데이터 가져오기 | 외부 데이터 연동과 실무 활용 방법

Cherubim 2024. 11. 21. 12:55

구글 시트에서 외부 데이터를 가져오는 방법을 알아보세요. IMPORTRANGE로 다른 시트 연결, IMPORTHTML로 웹 데이터 가져오기, GOOGLEFINANCE로 실시간 주식 정보 추적 등 실무 활용 예제를 소개합니다. 또한 웹크롤링을 쉽게 하는 IMPORTXML 에 대해서도 안내합니다.

 

다섯 가지 함수 활용법 | IMPORTRANGE, IMPORTDATA, IMPORTHTML, GOOGLEFINANCE, IMPORTXML

 

현대 사회에서는 데이터는 금맥과도 같습니다. 하지만 데이터를 제대로 연결하고 관리하지 못하면, 아무런 가치도 없으며 빛을 발하지 못하고 쓰레기 정보로 그칠 수 있습니다. 다양한 소스에서 데이터를 가져와 통합 관리할 수 있다면 누구 보다 더 정확하고 높은 통찰력을 가질 수 있을 겁니다. 구글 시트는 단순한 스프레드시트 도구를 넘어, 외부 데이터를 쉽게 가져와 분석하고 관리할 수 있는 강력한 기능을 무료로 제공합니다.

 

특히나 웹에서 데이터를 가져오는 것에서 반드시 저작권에 대해서는 확인하셔야 합니다. 기본적으로 구글에서는 IMPORTXML, IMPORTHTML 함수를 통해서 데이터를 가져올 수 있도록 기능을 제공하지만 그 과정에서 저작권 침해하지 않도록 주의가 잘 살펴보셔야 합니다. 저 또한 저작권의 무지로 인해서 지적을 받았습니다.

 

 저작권 침해 예시! 

 

이번 글에서는 구글 시트에서 외부 데이터를 가져오는 방법실무에서 어떻게 활용할 수 있는 다양한 예제를 통해 살펴보고 어떻게 적용하면 좋을지 살펴 보도록 하겠습니다. 실시간 주식 정보, 웹 데이터, 다른 구글 시트의 데이터까지 자동으로 연결하는 방법을 배워 사무 능력을 키워 보시기 바랍니다.

구글 시트로 외부 데이터 가져오기

 

1. 다른 구글 시트 데이터 가져오기: IMPORTRANGE

IMPORTRANGE 함수는 다른 구글 시트의 데이터를 현재 시트로 가져오도록 하는 함수입니다. 팀원들이 별도로 관리하는 데이터를 통합하거나, 여러 프로젝트 데이터를 하나로 모으고 보고 싶을 때 사용하면 좋습니다.

가. 사용법

=IMPORTRANGE("스프레드시트 URL", "시트이름!범위")
  • 스프레드시트 URL: 데이터를 가져올 구글 시트의 링크를 입력하면 됩니다.
  • 시트이름!범위: 가져올 데이터의 범위를 지정하시면 됩니다. 예: Sheet1!A1:D10.

나. 활용 예시

  • 팀 프로젝트 데이터 통합: 각 팀원이 작성한 데이터를 한 시트로 모아 통합 보고서를 생성.
  • 재고 관리: 여러 창고의 데이터를 하나의 시트에서 관리.

다. 실습 예제

  1. 데이터가 포함된 구글 시트 URL을 복사합니다.
  2. 구글 시트에서 수식을 입력합니다. 
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/abc123", "Sheet1!A1:D10")

* 처음 사용할 때 누군가 당시의 시트에 접근해도 되는지 권한 요청 팝업이 뜨는데 허용을 하시면 됩니다.

 

2. 함수로 웹의 CSV 파일 가져오기: IMPORDATA

외부의 CSV 파일이나 TSV 파일 데이터를 가져와야 하는 경우 IMPORTDATA 함수를 이용하시면 됩니다. 간단하게 URL을 입력하면 해당 데이터가 구글 시트에 자동으로 삽입됩니다.

가. 사용법

=IMPORTDATA("https://icdl.tistory.com/data.csv")
  • URL: 데이터를 가져올 CSV 또는 TSV 파일의 주소의 확장자까지 포함해서 링크를 걸어줍니다.

나. 활용 예시

  • 환율 데이터 가져오기: 은행에서 제공하는 실시간 환율 데이터를 CSV로 가져와 계산할 경우 사용하시면 됩니다.
  • 날씨 정보 업데이트: 외부 사이트에서 제공하는 CSV 파일로 실시간 날씨 정보를 가져와 응용할 수 있습니다.

 

3. 웹 데이터 가져오기: IMPORTHTML

웹 페이지에서 매일 일정하게 올라오는 표나 목록 데이터를 가져오고 싶다면 IMPORTHTML 함수를 적용해 보시기 바랍니다. 실시간으로 업데이트되는 자료 정보가 필요할 때 특히 유용합니다. 

가. 사용법

=IMPORTHTML("https://icdl.tistory.com", "table", 1)
  • URL: 데이터를 가져올 웹 페이지의 URL 주소를 입력합니다.
  • "table" 또는 "list": 가져올 데이터가 표인지 목록인지 지정합니다.
  • 인덱스 번호: 페이지에서 가져올 표나 목록의 번호를 입력합니다. 이때 번호를 모르기 때문에 1부터 시작해 보면서 찾으면 됩니다.

나. 활용 예시

  • 주식 정보 수집: 특정 웹사이트의 주식 정보를 구글 시트로 가져올 수 있습니다.
  • 스포츠 경기 결과: 실시간 스포츠 경기 결과를 표로 가져와 업데이트에 활용할 수 있습니다.

다. 실습 예제

  1. 주식 정보를 제공하는 웹 페이지 URL을 복사합니다.
  2. 구글 시트에 아래 수식을 입력하고 표나 목록의 번호를 수정해 가면서 원하는 데이터가 나오는지 확인합니다.
=IMPORTHTML("https://example.com/stocks", "table", 1)

 

4. 실시간 금융 데이터 가져오기: GOOGLEFINANCE

GOOGLEFINANCE 함수는 MPORTHTML와 비슷해 보이지만 주식, 환율 등 금융 데이터를 실시간으로 가져오는 데 더욱 최적화되어 있습니다. 투자 포트폴리오를 관리하거나 시장 상황을 모니터링할 때 유용합니다.

가. 사용법

=GOOGLEFINANCE("GOOGL", "price")
  • GOOGL: 해외 주식은 회사명을 입력하시면 되고, 한국은 종목 코드번호를 입력하시면 됩니다.
  • "price": 가져올 데이터 속성을 입력하면 되는데 price, volume, marketcap 등으로 입력하시면 됩니다.

나. 속성값 설명

속성값 설명
price 현재 주식 가격. 시장이 열려 있으면 실시간 거래 가격, 닫혀 있으면 마지막 거래 가격.
volume 해당 주식의 거래량. 하루 동안 거래된 총 주식 수.
marketcap 시가총액. 현재 주가에 발행 주식 수를 곱한 값으로, 회사의 시장 가치를 나타냄.
open 당일 시장이 열릴 때의 시가(Open Price).
high 당일의 최고가(High Price).
low 당일의 최저가(Low Price).
closeyest 전일 종가(Close Price from the previous trading day).
changepct 전일 대비 주가 변동률(Percent change in price from the previous trading day).
pe 주가수익비율(P/E Ratio). 주가를 주당순이익(EPS)으로 나눈 값으로, 주식의 상대적 가치를 평가.
eps 주당순이익(Earnings Per Share). 회사의 순이익을 발행된 주식 수로 나눈 값.
shares 발행 주식 수. 회사가 발행한 주식의 총 수량.
currency 주식 거래에 사용되는 통화(예: USD, KRW).
beta 베타 값. 주식의 변동성을 나타내며, 시장 변동성에 대한 민감도를 평가.
return52 지난 52주 동안의 총수익률(Return over the past 52 weeks).
changepctday 당일 주가 변동률. 현재 거래일 동안의 주가 상승 또는 하락 비율.
lasttrade 마지막 거래 시간(The time of the last trade).

다. 활용 예시

  • 투자 포트폴리오 추적: 여러 주식의 실시간 데이터를 수집하여 투자 상황을 모니터링 할 수 있습니다.
  • 환율 데이터 관리: 특정 통화 간 환율 정보를 가져와 자동 업데이트가 가능합니다.

라. 실습 예제

GOOGLEFINANCE를 사용하면 특정 기간 동안의 데이터를 가져올 수도 있습니다.

=GOOGLEFINANCE("KRX:005930", "price", DATE(2024, 1, 1), DATE(2024, 12, 31), "DAILY")
  • 이 수식은 2024년 1월 1일부터 2024년 12월 31일까지의 일별 가격 데이터를 반환합니다.

 

5. 웹 크롤링: IMPORTXML

IMPORTXML 함수는 웹 페이지에서 특정 데이터를 XPath를 사용해 가져오는 고급 기능입니다. 상품 가격, 뉴스 헤드라인 등 특정 정보가 필요할 때 사용하시면 됩니다.

가. 사용법

=IMPORTXML("https://icdl.tistory.com", "//h1")
  • URL: 데이터를 가져올 웹 페이지의 URL를 입력합니다.
  • XPath 쿼리: 가져올 데이터의 위치를 나타내는 XPath 경로를 입력해 줍니다.

좀 더 쉽게 설명하면 보통 html 구조는 아래와 같습니다.

<html>
 <body> 
  <h1>페이지 제목</h1> 
  <div> 
   <p>첫 번째 문단</p> 
   <p>두 번째 문단</p> 
  </div> 
 </body> 
</html>
 
 

XPath는 이 문서에서 특정 요소를 선택하는 쿼리를 작성할 수 있는데...

//h1: 모든 <h1> 요소를 선택합니다.
//p: 모든 <p> 요소를 선택합니다.
//div/p[1]: <div> 안에 있는 첫 번째 <p> 요소를 선택하는 것을 의미합니다.

나. 활용 예시

  • 상품 가격 추적: 쇼핑몰 웹사이트에서 특정 상품의 가격 정보를 추출할 때 사용 가능합니다.
  • 뉴스 헤드라인 가져오기: 특정 뉴스 사이트의 최신 기사 제목을 가져오기에 좋습니다.

다. 실습 예제

  1. 추출하려는 웹 페이지 URL을 복사합니다.
  2. XPath 경로를 확인한 후, 구글 시트에서 아래와 같이 수식 입력하고 제대로 값을 가져오는지 확인합니다.
=IMPORTXML("https://icdl.tistory.com", "//title")

 

IMPORTXML

 

지금까지 구글 시트의 다양한 외부 데이터 가져올 수 있는 IMPORTRANGE, IMPORTDATA, IMPORTHTML, GOOGLEFINANCE, IMPORTXML 등 다섯 가지 함수에 대해 살펴봤습니다.

처음에는 구글 시트에서 외부 데이터를 가져오는 작업이 조금 복잡하게 느껴질 수도 있습니다. 하지만 한 번 설정해두면, 손쉽게 최신 데이터를 자동으로 관리할 수 있다는 점에서 시간과 노력을 크게 절약할 수 있습니다.

특히, 일상적인 업무나 프로젝트에서 수작업으로 데이터를 복사/붙여넣기 하던 번거로움이 사라지고, 실시간으로 업데이트되는 데이터를 보며 스스로 “내가 데이터를 이렇게 잘 관리할 수 있다니!” 하고 감탄하게 될 겁니다.

구글 시트의 외부 데이터 가져오기 기능을 잘 활용하면 데이터의 흐름을 통제하는 진짜 주인이 될 수 있습니다. 지금 바로 실습해보고, 데이터 관리의 새로운 가능성을 경험해보시기 바랍니다. 

구글 시트는 단순한 스프레드시트 도구를 넘어 강력한 데이터 관리 및 분석 도구로 활용이 가능하고, 업무 효율을 한 단계 높일 수 있는 도구입니다.

 

구글 워크스페이스의 다양한 고급 기능을 아래 글을 통해 익혀보세요.

 

구글 워크스페이스 다양한 구글 문서 제대로 활용하기

구글 워크스페이스의 주요 기능과 협업 효율을 높이는 다양한 사용법을 안내합니다. 구글 독스, 시트, 슬라이드 활용을 통해 스마트한 업무 환경을 만들어 보세요.  구글 워크스페이스 소개구

icdl.tistory.com