본문 바로가기
주식/구글 스프레드시트

[구글 스프레드시트] 펀드 현재가 가져오기 (importxml 함수)

by 디히치 2021. 4. 23.

※ 해당 포스팅은 구글 스프레드시트 기반의 "주식 포트폴리오 양식" 제작을 위한 내용입니다.

 

 

 

마지막, 주식 포트폴리오 양식 통합본 공유 (Full Version, 구글 스프레드시트)

​안녕하세요, 디히치입니다.​지금까지 구글 스프레드시트를 활용한 다양한 주식 관리 양식들을 공유드렸...

blog.naver.com



펀드 현재가 가져오기

 

구글 스프레드시트는 주식을 관리에 최적화된 파워풀한 툴입니다. 구글 스프레드시트 googlefinance 함수로 종목들의 현재가를 쉽게 불러올 수 있기 때문이죠. 다만, 종목코드가 있는 경우에만 가능합니다.

 

그렇다면, 종목코드가 없는 "펀드"의 현재가는 어떻게 불러올 수 있을까요?

 

 

[구글 스프레드시트] 주가 정보 가져오기

해당 콘텐츠는 구글 스프레드시트를 활용한 "주식 포트폴리오 양식" 제작을 위한 함수 내용입니다. ※ 주식 포트폴리오 양식 통합본 마지막, 주식 포트폴리오 양식 통합본 공유 (Full Version, 구글

heecheoldo.tistory.com

 


 

첫 번째, 펀드의 종목 코드가 있는 경우

 

최근, 상장한 TIGER 미국필라델피아반도체나스닥 상품을 예로 들어봅시다. 해당 상품명 옆을 잘 보시면, "381180"를 확인할 수 있습니다.

 

즉, 6자리의 종목 코드가 있는 경우입니다.

 

 

 

종목 코드가 있는 경우는 googlefinance 함수로 쉽게 현재가를 불러올 수 있습니다.

 

=googlefinance(381180, "price")

: 종목코드 "381180"의 현재가를 불러옵니다.

 

 

함수 실행 결과값

 


 

두 번째, 펀드의 종목 코드가 없는 경우

 

펀드 상품의 종목 코드가 없는 경우는 어떻게 하면 될까요? 이런 경우는 importxml 함수를 통해 현재가를 가져올 수 있습니다.

 

 

 

예를 들어, 미래에셋펀드솔루션40증권전환형투자신탁 상품의 현재가를 가져오도록 하겠습니다.

 

상품명 옆에 "AY600"이라는 코드가 보입니다. 하지만, googlefinance 함수로 위 방법과 동일하게 현재가를 가져오면 오류가 발생함을 알 수 있습니다.

 

 

함수 실행 결과 오류

 

따라서, googlefinance 함수가 아닌, importxml 함수로 가져오도록 해보겠습니다.

 

 

 

Step 1. 사파리, 익스플로러가 아닌, 크롬으로 URL를 엽니다.

 

- 위 사진에서 보이는 주소는 아래와 같습니다.

finance.naver.com/fund/fundDetail.nhn?fundCd=KR5301AY6005 

 

 

 

Step 2. 오른쪽 마우스를 클릭 후, 검사 버튼을 클릭합니다.

 

 

 

Step 3. 검사 버튼을 클릭하면 위 화면을 확인할 수 있습니다. 그리고 위 사진에서 빨간색 박스로 표시한 아이콘을 클릭합니다.

 

 

 

Step 4. 현재가에 마우스를 가져다 댄 후, 현재가를 클릭합니다.

 

- 위 사진에서 현재가는 1285.95원으로 확인됩니다.

 

 

현재가가 모두 파란색 박스일때 클릭할 것

 

Step 5. 현재가(1,285.95) 숫자가 모두 파란색으로 될 때, 현재가를 클릭합니다.

 

 

 

Step 6. Step 5에서 현재가를 클릭 시, 해당 Elements 구문으로 이동하게 됩니다. 이때, 마우스 오른쪽 클릭 후, Copy XPath를 클릭합니다.

 

- Copy 결과 : 

//*[@id="content"]/div[1]/div[1]/div/p[1]

 

 

 

Step 7. 구글 스프레드시트에서 importxml 함수를 이용하여, 현재가를 불러옵니다.

 

 

※ 기본 함수 수식

 

=importxml("URL", "수정한 XPath 값")

: 해당 URL에서 XPath 값을 불러옵니다.

 

 

1) URL 주소 : finance.naver.com/fund/fundDetail.nhn?fundCd=KR5301AY6005

 

2) 복사한 XPath 값 : //*[@id="content"]/div[1]/div[1]/div/p[1]

 

→ Xpath 값에 있는 " (큰따옴표) 를 ' (작은따옴표)로 수정할 것

 

3) 수정한 XPath 값 : //*[@id='content']/div[1]/div[1]/div/p[1]

 

 

※ 최종 함수 수식

 

=importxml("finance.naver.com/fund/fundDetail.nhn?fundCd=KR5301AY6005", "//*[@id='content']/div[1]/div[1]/div/p[1]")

: 해당 URL에서 펀드 현재가를 불러옵니다.

 

 

함수 실행 결과

 

 

 

Step 8. index 함수를 통해 필요한 값만 골라 냅니다.

 

- 함수 실행 결과, A1:C1 셀까지 불필요한 값이 같이 불러옴을 알 수 있습니다.

- 우리가 필요한 1행 1열에 위치한 1285.95을 index 함수를 사용하여 가져오도록 합니다.

 

 

=index(importxml("finance.naver.com/fund/fundDetail.nhn?fundCd=KR5301AY6005", "//*[@id='content']/div[1]/div[1]/div/p[1]"), 1, 1)

: 1행 1열의 값만 골라냅니다.

 

 

함수 실행 결과

 

 

위 설명으로 종목 코드가 없는 펀드 현재가 그리고 금/은 시세도 구글 스프레드시트에서 가져올 수 있습니다. 주식 뿐만 아니라 다양한 자산을 한꺼번에 관리하시는 데 도움되시길 바랍니다.

 

감사합니다.

 

댓글