엑셀 함수 > 웹 함수 > WEBSERVICE 함수 - 웹서비스 데이터 가져오기

WEBSERVICE 함수 - 웹서비스 데이터 가져오기

엑셀 WEBSERVICE 함수는 인터넷에서 HTML, XML, JSON과 같은 형식으로 서비스되는 데이터를 엑셀로 가져올 수 있습니다. 가져온 데이터가 XML 형식이라면 FILTERXML 함수로 데이터의 특정 부분을 추출할 수 있습니다.

예를 들어 RSS 서비스로 제공되는 XML 형식의 언론사 증권뉴스, 기상청 날씨 정보와 같은 데이터를 엑셀로 가져와서 손쉽게 가공할 수 있습니다.

 

구문(Syntax)

WEBSERVICE

WEBSERVICE(url)

웹서비스에서 데이터를 가져온다.

인수 : url – 웹 서비스 URL

Windows용 엑셀 2013 이상에서만 사용 가능

함수 사용 시 주의 사항

  • 반환하는 텍스트가 32,767자를 초과하면 #VALUE 오류 발생
  • URL이 2048자를 초과하면 #VALUE 오류 발생
  • ftp://, file:// 프로토콜은 지원하지 않음

 

사용 예

1) 웹서비스 데이터 가져오기

WEBSERVICE 함수로 웹서비스 데이터 가져오기

=WEBSERVICE(B4) => '"<?xml version=""1.0"" encoding=""UTF-8""?><rss version=""2.0""><channel><title><![CDATA[한국경제 | 뉴스 | 증권]]></title>...'
한국경제신문에서 제공하는 RSS 서비스 증권 카테고리 데이터를 가져온 결과

=WEBSERVICE(B5) => '<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[속보 - 이티뉴스]]></title>...'
전자신문에서 제공하는 RSS 서비스 뉴스속보를 가져온 결과

=WEBSERVICE(B6) => '<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="ko"><head><meta content=....'
구글(https://google.com/)의 HTML 페이지를 가져온 결과(2022년 3월 기준 15,248 글자)

=WEBSERVICE(B7) => #VALUE! 오류 발생
네이버 금융(HTML페이지)은 32,767글자를 초과하여 오류 발생(2022년 3월 기준 136,807 글자)

* 2022년 현재 기준으로 HTML로 서비스되는 많은 웹페이지가 32,767자를 초과하여 #VALUE 오류가 발생합니다. 가능하면 RSS나 OPEN API로 제공되는 XML, JSON 형식에 길이가 32,767자를 넘지 않는 서비스를 이용하는 것이 좋습니다.

 

2) FILTERXML 함수로 특정 데이터 가져오기

WEBSERVICE 함수로 가져온 데이터가 XML 형식이면 다음과 같이 FILTERXML 함수로 원하는 부분만 가져올 수 있습니다.

=FILTERXML(D4,"//item/title")

FILTERXML 함수로 특정 데이터 가져오기

 

 


관련 글

FILTERXML 함수 - XML에서 특정 데이터 가져오기 - 엑셀 FILTERXML 함수는 XML 데이터에서 원하는 부분을 가져옵니다. 웹서비스에서 데이터를 가져오는 WEBSERVICE 함수와 같이 사용하면 외부의 XML 데이터를 엑셀로 가져와서…

FILTERXML 함수 - XML에서 특정 데이터 가져오기 더 보기 »

ENCODEURL 함수 - URL로 인코딩된 문자열 반환 - 엑셀 ENCODEURL 함수는 URL로 인코딩된 문자열을 반환합니다. URL 인코딩은 보통 프로그래밍 언어로 구현해서 많이 사용하지만 ENCODEURL 함수를 사용하면 엑셀에서 바로 인코딩할…

ENCODEURL 함수 - URL로 인코딩된 문자열 반환 더 보기 »

 

 

엑셀웍스 책 출간 안내

그동안 엑셀웍스에 올린 '엑셀 강좌', '함수 사용법', 여러 '실무 예제'에서 핵심만 뽑아 '된다! 엑셀 수식 & 함수' 책으로 출간하였습니다.

 자세히 보기

온라인 구매처: 예스24   교보문고   알라딘 

“WEBSERVICE 함수 - 웹서비스 데이터 가져오기”의 2개의 댓글

  1. 안녕하세요. 좋은 정보 감사합니다 ^^
    궁금한 점이 있는데요.
    첨부된 파일을 받아서 수식에 있는 함수 '=WEBSERVICE(B4) 에서 작은따옴표만 없애서 함수로 바꿔서 사용해봤는데, 4가지 예제 모두 #VALUE! 값이 나오는데, 어떻게 해야할까요?

    1. 함수의 인수로 입력한 웹페이지가 32,767자를 초과하면 #VALUE 오류가 발생합니다. 가능하면 RSS나 OPEN API로 제공되는 XML, JSON 형식에 길이가 32,767자를 넘지 않는 서비스를 이용하는 것이 좋습니다.
      글 본문에 설명되어 있으니 참고하세요.

      ######### 으로만 표시되는 경우도 있는데요. 셀서식에서 일반으로 바꾸면 정상으로 표시됩니다(리본메뉴→홈→표시 형식 그룹의 목록상자에서 '회계'로 되어 있는 것을 '일반'으로 변경)

댓글 남기기

Scroll to Top