재테크/구글 스프레드시트

구글 스프레드시트 주식 배당 관리 - 22. 에러 Error 처리하기

RayShines 2022. 4. 1. 12:53
반응형

포트폴리오에 종목이 많아지면 시트에 담아야 하는 데이터의 종류도 따라서 많아진다. 구글 파이낸스에서 가져오는 데이터는 크게 문제가 되지 않지만, 핀비즈에서 가져오는 데이터는 임포트하는 데이터의 양이 너무 많으면 에러 메시지가 뜨곤 한다.

 

핀비즈 에러 finviz error

 

사실 위의 에러 메시지가 떠도 그냥 기다리면 된다. 하지만 아래의 이미지처럼 오류가 너무 많으면 보기가 싫다.

 

핀비즈 에러 finviz error

 

기능에는 크게 문제가 없으나 심미적인 이유로 이를 처리하고 싶은 투자자들도 있을 것이라고 생각한다. 이번 포스팅에서는 그 처리 방법에 대해서 정리해보려고 한다.

 

1. 에러 발생 시 "-"로 대체하기

에러 발생 시 이를 "-"로 대체하기 위해서는 if 함수와 iserror 함수를 이용하면 된다. 

 

같은 맥락에서 isblank 함수를 다룬 포스팅이 있으니 참고하면 좋을 것이다.

 

 

구글 스프레드시트 주식 배당 관리 - 13. 예상 배당에 대한 정보가 없을 때 처리 방법

이번 포스팅에서는 예상 배당에 대한 정보가 제공되지 않을 때 이를 처리하는 방법에 대해서 알아보려고 한다. 국내 주식의 직전 배당금과 예상 배당금 정보를 시트로 가져오는 방법에 관한 포

rayshines.tistory.com

 

 

=if(iserror(SUBSTITUTE(INDEX(IMPORTHTML("https://finviz.com/quote.ashx?t="&A3,"Table",9),7,2),"*","")), "-", SUBSTITUTE(INDEX(IMPORTHTML("https://finviz.com/quote.ashx?t="&A3,"Table",9),7,2),"*",""))

 

위의 함수를 안쪽부터 살펴보자.

 

SUBSTITUTE(INDEX(IMPORTHTML("https://finviz.com/quote.ashx?t="&A3,"Table",9),7,2),"*","")

 

이 부분은 A3 셀의 티커에 해당하는 종목을 핀비즈에서 검색하고, 해당 종목의 페이지에서 표9, 7행, 2열의 데이터를 가져온 뒤 데이터에 앞뒤로 붙어 있는 *을 제거하라는 명령이다. 

 

iserror 함수는 뒤따르는 값이 error인지 아닌지 판단한다.

 

 #DIV/0!, #N/A, #NAME?,#NULL!, #NUM!, #VALUE!  #REF! 등 어떤 형태든 Error이면 true를 반환한다.

 

Error가 아니라면 false를 반환한다.

 

if 함수의 구조는 다음과 같다.

 

IF(논리_표현식, TRUE인_경우_값, FALSE인_경우_값)

 

따라서 위의 식은 핀비즈 데이터가 에러이면 -를, 에러가 아니면 해당 데이터를 표시하라는 뜻이 된다.

 

실제로 셀에 넣고 실행해보면 아래와 같다.

 

 

에러 처리 iserror

 

가장 아래 왼쪽 셀을 보면 "-"로 바뀌어 있는 것을 볼 수 있다. 

 

포트폴리오 시트를 깔끔하게 관리하고 싶은 분들께 도움이 되길 빈다.

 

2. 배당수익률, 배당금, 세후배당금 에러도 처리하기

이에 대해서는 별도의 포스팅을 올려두었으니 참고하면 좋을 것 같다.

 

 

구글 스프레드시트 주식 배당 관리 - 23. 배당 정보가 에러일 때 배당수익률 처리하기

이전 포스팅에서 핀비즈에서 가져온 배당의 정보가 지연되어 에러가 발생할 때 -로 대체하는 방법을 정리해보았다. 그런데 이렇게 되면 배당수익률과 종목의 총배당금도 에러가 발생하게 된다.

rayshines.tistory.com

 

반응형