-
[구글 스프레드시트] IMPORTHTML로 yahoo finance에서 배당금 정보 조회하기구글/구글 스프레드시트 2022. 9. 7. 10:04반응형
구글 스프레드시트에는 각 종 주가정보를 조회할 수 있는, GOOGLEFINANCE 라는 훌륭한 함수가 있습니다. 하지만 아쉽게도 이 함수에는 개별 종목의 배당 정보를 확인할 수 없습니다. 배당 위주의 투자자에게는 이 함수가 그닥 쓸모 없는 이유 중에 하나인데요. 이번에는 IMPORTHTML 로 야후 파이낸스에서 배당금을 가져오는 방법을 소개하겠습니다.
GOOGLEFINANCE, IMPORTHTML 관련 포스팅
- [구글스프레드시트] GOOGLEFINANCE 주식함수로 최신 미국 주가정보 연동하는 방법
- [구글스프레드시트] GOOGLEFINANCE 주식함수로 환율정보 연동하기
- [구글 스프레드시트] IMPORTHTML 로 외부 사이트 데이터 가져오기 - 나만의 크롤러 만들기!
- ...
바쁘신 분들을 위해서...
이번 포스팅에서 설명할 최종 배당금 조회 함수는 아래와 같습니다.
=SPLIT( INDEX( IMPORTHTML( "https://finance.yahoo.com/quote/T", "table" , 2), 6, 2), "()")
실제 사용 사례는 아래 공유 함수에서 확인할 수 있습니다.
https://docs.google.com/spreadsheets/d/1cok74zU4n5nmubWFINKxWZRCf3c0moufDxWYsdts8mU/edit?usp=sharing
IMPORTHTML 사용 방법
importhtml은 외부 사이트에서 특정 테이블 정보를 가져오는 함수 입니다. 이전 포스팅에도 소개했지만, 간략히 사용법을 소개하면 아래와 같습니다.
=IMPORTHTML( URL , 쿼리, 색인 )
- URL - 조회할 페이지를 의미합니다. 문자열에 HTML을 포함해야 합니다.
- 쿼리 - 원하는 데이터가 어떤 구조에 포함되었는지에 따라 'list' 또는 'table'입니다.
- 색인 - URL을 조회한 HTML에서, 쿼리로 정의된 list 또는 table의 몇 번째 정보를 가져올지 정하는 숫자입니다. 1부터 시작합니다.
자세한 방법은 아래 링크를 참조하시기 바랍니다.
IMPORTHTML 로 배당금 정보 조회하기
Yahoo Finance 의 배당 정보
야후 파이낸스는 다양한 재무정보를 얻을 수 있는 사이트입니다. 아래는 대표적인 배당주인 AT&T의 재무정보를 조회한 화면입니다. 아래 Forward Dividend & Yield 정보를 확인할 수 있습니다. Forward가 붙은 것은 앞으로 지급할 배당 예상금이라는 의미입니다.
https://finance.yahoo.com/quote/T
Yahoo Finance 의 주소 분석 : URL + Ticker
주소는 "finance.yahoo.com/quote" + Ticker 형태로 구성되어 있습니다. 스프레드시트 상에 다양한 회사의 배당 정보를 조회하고 싶다면, Ticker와 주소를 JOIN 함수를 이용해 결합해서 사용하면 됩니다.
그리고, 한국 주식정보도 조회할 수 있습니다. 아래는 NAVER의 주가 정보입니다. 다만 조회할 때, 기준 화폐가 무엇인지 주의해야 합니다. 아래 currency가 KRW로 표시된다고 나와있습니다.
https://finance.yahoo.com/quote/035420.KS
주가정보 테이블에서 배당금 가져오기
=IMPORTHTML( "https://finance.yahoo.com/quote/T", "table" , 1)
위와 같이, 세번 째 인자에 1로 입력하여, Yahoo 의 정보에서 1번 테이블을 가져오겠습니다.
이런!, 우리가 원하는 배당 정보가 없군요. 아마 야후의 테이블 순서는 아래와 같이 구성되어 있는 것 같습니다.
우리가 원하는 테이블은 2번 테이블입니다.함수를 아래와 같이 수정하여 호출하겠습니다.
=IMPORTHTML( "https://finance.yahoo.com/quote/T", "table" , 2) # !세 번째 인자에 1을 2로 수정
2번 테이블에서 원하는 "Forward Dividend"가 있음을 확인했습니다.
이제 이 정보에서 배열이기 때문에 INDEX와 SPILIT으로 이용해 배당금만 추출해 보겠습니다.=INDEX( IMPORTHTML( "https://finance.yahoo.com/quote/T", "table" , 2), 6, 2) # 테이블의 6행, 2열에 배당 정보가 존재합니다.
1.11 (6.34%) 형식으로 되어 있어서 SPLIT하겠습니다.
최종 배당금 가져오는 함수
=SPLIT( INDEX( IMPORTHTML( "https://finance.yahoo.com/quote/T", "table" , 2), 6, 2), "()") # () 를 기준으로 분할합니다.
이제 최종 배당금과 배당율을 확인할 수 있습니다.
위의 함수들은 아래 공유 문서의 두 번째 "Yahoo 조회" 시트에서 확인 가능합니다.
https://docs.google.com/spreadsheets/d/1cok74zU4n5nmubWFINKxWZRCf3c0moufDxWYsdts8mU/edit?usp=sharing
티커별로 배당정보 가져오기
아래는 위 함수를 응용해 티커별로 배당정보를 가져오는 시트를 만들어 보았습니다.
마찬가지로, 위의 공유 문서에서 첫번째 시트에서 관련 내용을 확인하실 수 있습니다.
이상 구글스프레드시트로 배당금 가져오기였습니다.
다음에는 add-on으로 좀 더 쉽게 조회하는 방법을 알아보겠습니다.
반응형'구글 > 구글 스프레드시트' 카테고리의 다른 글
[구글 스프레드시트] 엑셀 틀고정과 같이 행과 열을 고정하는 방법 (0) 2022.09.07 구글 스프레드시트에 이쁜 한글 글꼴, 폰트 추가하는 방법 (1) 2022.09.07 [구글 스프레드시트] IMPORTHTML 로 외부 사이트 데이터 가져오기 - 나만의 크롤러 만들기! (1) 2022.09.06 [구글 스프레드시트] EOMONTH 함수로 매월 말일 계산하기 (0) 2022.09.06 [구글스프레드시트] WORKDAY, NETWORKDAYS로 영업일 계산하기 (0) 2022.09.05