구글시트 비트코인,알트코인 가격 불러오기(원화,달러)

구글시트를 이용해서 투자정보를 정리하는 경우가 많습니다. 주식투자시 현재가를 바로 불러올 수 있어서 편합니다. 오늘은 코인 가격을 자동으로 입력하는 방법에 대해서 알아보겠습니다.

가장 간단한 방법을 공유하겠습니다.

GOOGLEFINANC 함수

이전에 미국주식 현재가를 불러오는 방법에 대해서 공유했습니다.

GOOGLEFINANCE를 사용했습니다.

구글에서 주요 암호화폐의 데이터는 제공합니다. 따라서 비트코인과 이더이움 등 주요 몇개의 암호화폐는 동일하게 이 함수로 불러올 수 있습니다.

=GOOGLEFINANCE(“BTCUSD”) 달러로 표시

=GOOGLEFINANCE(“BTCKRW”) 한화로 표시

그런데 이외 일반 알트코인 암호화폐 가격을 구글시트에 자동으로 입력하려면 API기능을 이용해야 합니다.

API

API는 Application Programming Interface(애플리케이션 프로그래밍 인터페이스)의 약자로입니다.


서로 다른 소프트웨어나 시스템이 정해진 규칙(정의와 프로토콜)에 따라 데이터를 주고받거나 기능을 사용할 수 있게 해주는 인터페이스입니다.

개발자는 API를 이용해 복잡한 기능을 직접 만들지 않고도, 외부 서비스의 데이터를 가져오거나 기능을 사용할 수 있습니다.

증권사 API라든지, 로그인 API 지도 API 라는 말을 들어보신적이 있을 것입니다. 우리가 사이트에 가입이나 로그인할 때 네이버 등 계정으로 로그인할 수 있는 것도 이런 기능을 통해서입니다.

코인 가격 불러오기 함수

주요 스테이블코인인 테너 USDT의 현재가를 불러오는 방법입니다.

IMPORTDATA함수와 Coingecko api를 통해 현재가를 불러옵니다.

https://www.coingecko.com/ko

=IMPORTDATA(“https://api.coingecko.com/api/v3/simple/price?ids=tether&vs_currencies=krw”)

B2셀에 위 함수를 입력하면 아래와 같이 테더 현재가가 표출됩니다.

테더가격

이중에서 가격만 표시해주고 싶습니다. 그러면 이번에는 REGEXEXTRACT 함수를 사용합니다.

아래와 같이 입력합니다.

=REGEXEXTRACT(IMPORTDATA(“https://api.coingecko.com/api/v3/simple/price?ids=tether&vs_currencies=krw”), “\d+.?\d*”)

그러면 아래와 같이 가격만 표시됩니다.

다른 코인 가격을 불러오려면 코인 이름만 변경하면 됩니다. 통화를 변경하려면 통화쪽도 같이 변경하면 됩니다.

=REGEXEXTRACT(IMPORTDATA(“https://api.coingecko.com/api/v3/simple/price?ids=pi-network&vs_currencies=usd“), “\d+.?\d*”)

이번에는 한화로 불러오겠습니다.

=REGEXEXTRACT(IMPORTDATA(“https://api.coingecko.com/api/v3/simple/price?ids=pi-network&vs_currencies=krw“), “\d+.?\d*”)

usd를 krw로만 변경하면 됩니다.

이제 관심있는 코인들 현재가를 정리해서 볼 수 있습니다. 그런데 이런 현재가를 불러올때 가끔씩 에러가 발생합니다. 제공하는 사이트의 상태 등으로 인해서 발생할 수 있으니 시간을 두고 다시 시도해보아야 합니다.

IMPORTDATA 함수

IMPORTDATA 함수는 구글시트에서 제공하는 외부 데이터 가져오기 위한 함수입니다.

추천:  비트겟 Bitget 챠트 색상 변경, 매매 히스토리 메뉴


웹에 공개된 CSV(쉼표로 구분된 값) 또는 TSV(탭으로 구분된 값) 파일을
지정한 URL에서 불러와 시트에 자동으로 삽입해주는 기능입니다

사용법은 간단합니다.

=IMPORTDATA(“데이터_URL”)

처음 테더의 현재가를 가져올 때 사용한 명령어를 살펴보겠습니다.

=IMPORTDATA(“https://api.coingecko.com/api/v3/simple/price?ids=tether&vs_currencies=krw”)

IMPORTDATA 뒤에 가져올 주소를 입력했습니다.

REGEXEXTRACT 함수

REGEXEXTRACT 함수는 구글시트에서 텍스트(문자열)에서 정규표현식(Regular Expression, Regex)과 일치하는 첫 번째 부분 문자열을 추출하는 함수입니다.


즉, 복잡한 텍스트 데이터에서 특정 패턴(숫자, 단어, 이메일 등)에 맞는 값을 자동으로 뽑아낼 수 있습니다.

사용규칙은 아래와 같습니다.

REGEXEXTRACT(텍스트, 정규_표현식)


텍스트: 추출할 대상이 되는 문자열 또는 셀 참조
정규_표현식: 찾고자 하는 패턴을 정의하는 정규표현식

REGEXEXTRACT 함수는 RE2 정규 표현식 엔진을 사용합니다.

정규표현식 종류는 아래와 같습니다.

\d+ : 하나 이상의 숫자

\w+ : 하나 이상의 영문자/숫자/밑줄

([A-Za-z]+) : 영문자 그룹 추출

@(.+) : @ 뒤의 모든 문자 추출

위에서 테더 가격만 표출했던 입력값으로 설명하겠습니다.

=REGEXEXTRACT(IMPORTDATA(“https://api.coingecko.com/api/v3/simple/price?ids=tether&vs_currencies=krw”), “\d+.?\d*“)

가져올 데이터 주소를 적고, \d+.?\d*와 함께 사용한 것을 볼 수 있습니다.

\d+.?\d* 는 숫자(정수 또는 소수)를 추출할 때 자주 쓰이는 정규표현식입니다.

그 의미는 아래와 같습니다.

\d+ : 숫자(digit, 0~9) 하나 이상과 일치합니다.
예: 1, 12, 123 등.

. :모든 문자 하나와 일치하지만, 소수점을 의미하려면 반드시 .처럼 이스케이프해야 합니다.
이 정규식에서는 소수점을 의미할 때 사용합니다.

? :바로 앞의 문자가 0개 또는 1개 있을 때 일치합니다.
즉, 소수점이 있어도 되고 없어도 됨을 의미합니다.

\d* :숫자(digit, 0~9)가 0개 이상 있을 때 일치합니다.
즉, 소수점 이하 자릿수가 없어도 되고, 여러 자리여도 됩니다.

따라서 REGEXEXTRACT 함수를 이용하면 처음 불러온 값에서 숫자만 표출할 수 있습니다.

좀더 다양하고 자세한 정규표현식은 이곳에서 참고하시고요.