구글 드라이브 스프레드시트(엑셀)의 놀라운 기능 importhtml, importxml

구글 앱스 or 구글 드라이브를 사용한지가 벌써 몇년인데...
이런 기능이 있을 줄은 상상도 못했다. 

구글 스프레드시트(엑셀)에 설문조사 항목을 정리해 이를 구글 폼으로 일괄 변경하는 방법을 찾는 중이었다. 
일단 결론은 실패. 

하지만 관련 내용을 조사하던 중 구글 스프레드시트에 MS 오피스 엑셀에선 보지 못한 함수를 알게되었다. 
그 함수들은 각각 import로 시작하는 아래의 함수들. 
이들은 공통적으로 시트 외부 즉 인터넷에 있는 각종 정보를 시트내로 끌어올 수 있는 함수로 목적에 따라 대단히 유용하게 활용할 수 있다. 

특히 이중 importhtml 및 importxml은 웹에 있는 정보를 끌어오는데 상당한 편리성을 자랑한다. 

예를들어 importhtml 함수를 이용하면 웹상에 표로 표현되어 있는 정보를 끌어다 바로 스프레드시트에 삽입할 수 있다. 
당장에 구글 스프레드시트에서 아래의 코드를 복사해 셀에 붙어넣은 후 엔터함 쳐보시라. 

=importhtml("http://score.sports.media.daum.net/record/soccer/kl/prnk.daum", "table", 1)

그 결과는 아래와 같다. 

다음 스포츠 K리그 클래식 2014년 선수 순위 데이터를 importhtml 함수로 불러온 결과

다음 스포츠 K리그 클래식 2014년 선수 순위 데이터를 importhtml 함수로 불러온 결과

삽입된 데이터의 원본 데이터는 아래와 같다. 

원본 데이터는 html의 table 즉 표로 작성된 데이터다.

원본 데이터는 html의 table 즉 표로 작성된 데이터다.


구글 스프레드시트의 importhtml 함수는 위와 같이
  • 데이터가 들어 있는 웹페이지 URL
  • 데이터 형태(table or list)
  • 순서(해당 페이지 내에 몇번째 놈을 가져올 것인가의 index)
정보만 입력해주면 이를 그대로 시트에 옮겨준다. 

또한 바로 위에서 언급한 바와 같이 표 즉 table 태그뿐만 아니라 ul, ol 등의 리스트 요소도 끌어올 수 있다. 


importhtml로 끌어온 데이터를 기반으로한 차트생성도 가능

importhtml로 끌어온 데이터를 기반으로한 차트생성도 가능

어디 그 뿐인가. 
위의 스샷 처럼 웹에서 가져온 데이터로 차트 생성도 가능하다. 

한가지 아쉬운건 원본데이터가 실시간으로 변경될 경우 이를 반영하는 속도가 실시간은 아니라는 점. 
찾아보니 꽁수를 써서 분단위 갱신은 가능한 것으로 보이지만 실제 동작확인은 하지 못했다. 

웹밥을 먹고 있는 개발자 입장에서 이와 같은 데이터 파싱이 크게 어려운 것은 아니다. 
하지만 일반적인 사용자 입장에서 어디 그러하겠는가?
그런 점 때문에 이 기능은 상당한 놀라움으로 다가 왔다. 

만약 이 글을 보시는 분이 xml에 관한 지식이 있다면 importxml 함수도 함 사용해보시라. 
importxml은 함수명과는 달리 xml 뿐만아니라 html, csv, tsv, rss, atom 등 왠만큼 구조화된 데이터는 모두 끌어올 수 있는 함수다. 

인자는 importhtml과 마찬가지로 끌어올 데이터가 들가 있는 URL과 xpath쿼리값이다. 
실제 이걸 잘만 활용하면 여러 사이트에서 개별적으로 업데이트 되는 정보를 하나의 시트안에서 모두 확인할 수도 있다. 

마지막으로 구글 스프레드시트 자체 함수는 아니지만 관련 API 함수로 Query라는 놈이 있다. 
이 함수는 간단한 SQL 구문을 지원하는 함수로 위의 함수와 함께 사용하면 더욱 강력해진다. 

확인해보니 구글 드라이브와 비슷한 네이버 오피스 셀에는 아직 이와 같은 기능은 없는 듯. 
뭐 각기 장단점은 있으니 필요에 따라서 사용하심 되겠다. 

최근 한달간 인기글

이 글의 관련글

REPLY AND TRACKBACK RSS http://blog.nemesys.co.kr/tt/rss/response/1430
REPLY AND TRACKBACK ATOM http://blog.nemesys.co.kr/tt/atom/response/1430
TRACKBACK ADDRESS
이 글에는 트랙백을 보낼 수 없습니다
REPLY RSS http://blog.nemesys.co.kr/tt/rss/comment/1430
REPLY ATOM http://blog.nemesys.co.kr/tt/atom/comment/1430
이름 / Name : *
비밀번호 / Password : *
홈페이지 / Homepage :
비밀글 / Secret :
*1  ... *26  *27  *28  *29  *30  *31  *32  *33  *34  ... *1133 
  • 블로그 주인장 : Nes
  • 이메일 : [email protected]
  • 이 블로그는?
  • 방명록
  • 레퍼런스 사이트 : http://nemesys.co.kr
SNS + RSS Links
rss
다음 일간 이슈 검색어
Since 2006 Nes's Random Blogz
Total 10661385 T1695 Y2003

3114

2026

google chart api graph

-30 days

today : 1695

전체 (1133)
Nes이야기 (123)
하드웨어이야기 (260)
소프트웨어이야기 (27)
외국어이야기 (12)
IT/웹이야기 (248)
연예계/방송이야기 (145)
게임이야기 (96)
광고/제품이야기 (58)
여행/먹거리이야기 (45)
세상이야기 (98)
최근에 쓴 글
구글 딥마인드 알파고가 이세돌을 꺾은날, 애드센스로 ...
구글 설문지(구글 폼)에서 정규식으로 입력 내용 사전 ... (1)
유플러스 tv g 4k uhd 셋톱박스를 신모델인 tvg 우퍼2... (9)
신장의 야망 창조 전국입지전 - 삼국지 13의 재미를 뛰... (2)
구글 애널리틱스(Google Analytics) 보고서 및 대시보...
그래픽카드 견적을 뺀 이번 조립컴퓨터, 스카이레이크 ... (1)
기어s 웨어러블 요금제로도 올레 맴버쉽 포인트 사용이...
안드로이드 롤리팝 포팅 버전 기어s 3g 요금제 가입 후... (2)
tasker http post 기능을 활용해 스마트폰 이벤트를 sl...
삼국지13 간단 후기 - 역대 장수제 시리즈의 정점을 찍...
네이버 웹마스터도구에 블로그와 RSS 주소 등록 후 10...
네이버 웹마스터도구 개편이 불러온 검색로직 및 트래...
삼성 갤럭시 기어s 롤리팝 포팅 후기 및 앱 사용기 (1)
삼성 갤럭시 기어s에 안드로이드 롤리팝 올리기 성공! (3)
CPU 잡아먹는 어베스트 avast mft utility(mftutil.exe...
유플러스 TVG 롤리팝 업데이트 후기(via 기기교체!!) (1)
블로그 포스팅이 점점 줄어드는 이유
u+ tv g 롤리팝 업데이트를 하릴없이 기다리며 써본 간... (9)
허니버터칩은 과연 꼬꼬면의 숙명을 피할 수 있을 것인가? (3)
LG유플러스 U+ tvg 4K UHD 간단 사용기 및 신구형 셋톱... (2)
구글 애널리틱스 웹로그 분석 공인 전문가 자격 인증 ...
스마트폰 사용 패턴 통계 및 분석 with Tasker & Googl... (5)
갤럭시 기어1 - 루팅 및 안드로이드 null롬 올린 후 두... (1)
옵티머스G프로 킷캣 업데이트 후 폰트변경 - 나눔바른...
갤럭시 기어1 - 루팅 및 안드로이드 커스텀 롬 사용기 ... (5)
구글 애널리틱스 UA 업그레이드 이후 애드센스 통계 안...
스마트폰 화면 밝기 어둡게해 야밤에 시력 보호하는 방법 (1)
블루투스 휴대용 스피커 로지텍 UE Boom 간단 리뷰 및 ...
구글 스프레드시트가 canvas를 활용해 만들어졌다니!! (1)
구글 드라이브 스프레드시트(엑셀)의 놀라운 기능 impo...