구글 시트에서 실시간 데이터 가져오기 | 외부 데이터 연동과 실무 활용 방법
구글 시트에서 외부 데이터를 가져오는 방법을 알아보세요. IMPORTRANGE로 다른 시트 연결, IMPORTHTML로 웹 데이터 가져오기, GOOGLEFINANCE로 실시간 주식 정보 추적 등 실무 활용 예제를 소개합니다. 또한 웹크롤링을 쉽게 하는 IMPORTXML 에 대해서도 안내합니다.
다섯 가지 함수 활용법 | IMPORTRANGE, IMPORTDATA, IMPORTHTML, GOOGLEFINANCE, IMPORTXML
현대 사회에서는 데이터는 금맥과도 같습니다. 하지만 데이터를 제대로 연결하고 관리하지 못하면, 아무런 가치도 없으며 빛을 발하지 못하고 쓰레기 정보로 그칠 수 있습니다. 다양한 소스에서 데이터를 가져와 통합 관리할 수 있다면 누구 보다 더 정확하고 높은 통찰력을 가질 수 있을 겁니다. 구글 시트는 단순한 스프레드시트 도구를 넘어, 외부 데이터를 쉽게 가져와 분석하고 관리할 수 있는 강력한 기능을 무료로 제공합니다.
특히나 웹에서 데이터를 가져오는 것에서 반드시 저작권에 대해서는 확인하셔야 합니다. 기본적으로 구글에서는 IMPORTXML, IMPORTHTML 함수를 통해서 데이터를 가져올 수 있도록 기능을 제공하지만 그 과정에서 저작권 침해하지 않도록 주의가 잘 살펴보셔야 합니다. 저 또한 저작권의 무지로 인해서 지적을 받았습니다.
이번 글에서는 구글 시트에서 외부 데이터를 가져오는 방법과 실무에서 어떻게 활용할 수 있는 다양한 예제를 통해 살펴보고 어떻게 적용하면 좋을지 살펴 보도록 하겠습니다. 실시간 주식 정보, 웹 데이터, 다른 구글 시트의 데이터까지 자동으로 연결하는 방법을 배워 사무 능력을 키워 보시기 바랍니다.
1. 다른 구글 시트 데이터 가져오기: IMPORTRANGE
IMPORTRANGE 함수는 다른 구글 시트의 데이터를 현재 시트로 가져오도록 하는 함수입니다. 팀원들이 별도로 관리하는 데이터를 통합하거나, 여러 프로젝트 데이터를 하나로 모으고 보고 싶을 때 사용하면 좋습니다.
가. 사용법
=IMPORTRANGE("스프레드시트 URL", "시트이름!범위")
- 스프레드시트 URL: 데이터를 가져올 구글 시트의 링크를 입력하면 됩니다.
- 시트이름!범위: 가져올 데이터의 범위를 지정하시면 됩니다. 예: Sheet1!A1:D10.
나. 활용 예시
- 팀 프로젝트 데이터 통합: 각 팀원이 작성한 데이터를 한 시트로 모아 통합 보고서를 생성.
- 재고 관리: 여러 창고의 데이터를 하나의 시트에서 관리.
다. 실습 예제
- 데이터가 포함된 구글 시트 URL을 복사합니다.
- 구글 시트에서 수식을 입력합니다.
=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부터 시작해 보면서 찾으면 됩니다.
나. 활용 예시
- 주식 정보 수집: 특정 웹사이트의 주식 정보를 구글 시트로 가져올 수 있습니다.
- 스포츠 경기 결과: 실시간 스포츠 경기 결과를 표로 가져와 업데이트에 활용할 수 있습니다.
다. 실습 예제
- 주식 정보를 제공하는 웹 페이지 URL을 복사합니다.
- 구글 시트에 아래 수식을 입력하고 표나 목록의 번호를 수정해 가면서 원하는 데이터가 나오는지 확인합니다.
=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> 요소를 선택하는 것을 의미합니다.
나. 활용 예시
- 상품 가격 추적: 쇼핑몰 웹사이트에서 특정 상품의 가격 정보를 추출할 때 사용 가능합니다.
- 뉴스 헤드라인 가져오기: 특정 뉴스 사이트의 최신 기사 제목을 가져오기에 좋습니다.
다. 실습 예제
- 추출하려는 웹 페이지 URL을 복사합니다.
- XPath 경로를 확인한 후, 구글 시트에서 아래와 같이 수식 입력하고 제대로 값을 가져오는지 확인합니다.
=IMPORTXML("https://icdl.tistory.com", "//title")
지금까지 구글 시트의 다양한 외부 데이터 가져올 수 있는 IMPORTRANGE, IMPORTDATA, IMPORTHTML, GOOGLEFINANCE, IMPORTXML 등 다섯 가지 함수에 대해 살펴봤습니다.
처음에는 구글 시트에서 외부 데이터를 가져오는 작업이 조금 복잡하게 느껴질 수도 있습니다. 하지만 한 번 설정해두면, 손쉽게 최신 데이터를 자동으로 관리할 수 있다는 점에서 시간과 노력을 크게 절약할 수 있습니다.
특히, 일상적인 업무나 프로젝트에서 수작업으로 데이터를 복사/붙여넣기 하던 번거로움이 사라지고, 실시간으로 업데이트되는 데이터를 보며 스스로 “내가 데이터를 이렇게 잘 관리할 수 있다니!” 하고 감탄하게 될 겁니다.
구글 시트의 외부 데이터 가져오기 기능을 잘 활용하면 데이터의 흐름을 통제하는 진짜 주인이 될 수 있습니다. 지금 바로 실습해보고, 데이터 관리의 새로운 가능성을 경험해보시기 바랍니다.
구글 시트는 단순한 스프레드시트 도구를 넘어 강력한 데이터 관리 및 분석 도구로 활용이 가능하고, 업무 효율을 한 단계 높일 수 있는 도구입니다.
구글 워크스페이스의 다양한 고급 기능을 아래 글을 통해 익혀보세요.