엑셀 FilterXML 함수 사용법 및 공식 총정리
엑셀 FilterXML 함수 목차 바로가기
함수 요약
엑셀 FILTERXML 함수는 XML 문서에서 특정 요소를 추출하는 함수입니다.
함수 구문
= FILTERXML ( XML, xPath )
인수 알아보기
인수 | 설명 |
XML | 추출할 콘텐츠가 포함된 XML 문서입니다. |
xPath | XML문서에서 특정 요소나 속성에 접근하기 위한 xPath 코드입니다. |
FilterXML 함수 상세설명
엑셀 FILTERXML 함수는 XML 문서에서 특정 요소나 속성을 추출하는 함수입니다. 엑셀 2013 이후 버전에서 제공되며 Windows 엑셀에서만 사용가능합니다. (Mac 엑셀에서는 사용불가)
FILTERXML 함수는 결과값으로 배열을 반환합니다. 따라서 365 이전 버전 사용자는 FILTERXML 함수를 입력하기 전, 범위를 넓게 입력 한 상태에서 Ctrl + Shift + Enter로 함수를 입력합니다. (365 버전은 동적으로 배열을 반환합니다.)

FILTERXML 함수는 xPath로 특정 요소를 추출합니다. xPath는 XML 문서에서 원하는 콘텐츠에 쉽게 접근하기 위해 작성되는 언어입니다. xPath로 사용되는 경로기호는 크게 6가지이며, 각 기호는 아래 표와 같습니다.
기호 | 설명 |
노드이름 | 노드 이름과 일치하는 모든 노드를 선택합니다. |
/ | 루트 노드의 자식 노드인 특정 요소를 선택합니다. |
// | 루트 노드의 하위 노드 또는 특정 요소를 모두 선택합니다. |
. | 현재 노드를 선택합니다. |
.. | 현재 노드의 부모 노드를 선택합니다. |
@ | 속성 노드를 선택합니다. |
오빠두엑셀 홈페이지에서 제공해드리는 ParseJSON 함수를 사용하면 JSON 문서의 특정 요소를 빠르게 추출할 수 있습니다. ParseJSON 함수에 대한 자세한 설명은 아래 관련 포스트를 참고하세요.
FilterXML 함수 사용법 간단예제
XML 예제 문서
<breakfast_menu> <food> <name>벨기에 와플</name> <price>6,000</price> <calories>650</calories> </food> <food> <name>생크림 벨기에 와플</name> <price>7,800</price> <calories>900</calories> </food> <food> <name>블루베리 크로플</name> <price>9,500</price> <calories>900</calories> </food> <food> <name>프렌치 토스트</name> <price>5,500</price> <calories>600</calories> </food> <food> <name>크로아상 세트</name> <price>7,600</price> <calories>950</calories> </food> </breakfast_menu>
- name 요소 모두 가져오기
=FILTERXML(XML문서 ,"//name")
={벨기에 와플, 생크림 벨기에 와플, 블루베리 크로플, 프렌치 토스트, 크로아상 세트"} - food 노드 아래에 price 요소 모두 가져오기
=FILTERXML(XML문서, "//food/price")
={650,900,900,600,950}
호환성
운영체제 | 호환성 |
Windows 버전 | 엑셀 2013 이후 버전부터 사용 가능합니다. |
Mac 버전 | Mac 엑셀에서는 사용할 수 없습니다. |
예제파일 다운로드
오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.
- [엑셀함수] 엑셀 FILTERXML 함수 사용법예제파일
관련 기초함수
그 외 참고사항
- 엑셀 FILTERXML 함수는 엑셀 2013 이후 버전에서만 제공되며, 윈도우 엑셀에서만 사용가능합니다. (Mac 엑셀에서는 사용 불가)
- FILTERXML 함수는 세로로 긴 형태의 1차원 배열만 반환 할 수 있습니다. 만약 가로 2칸 이상의 배열이 반환될 경우 FILTERXML 함수는 #VALUE! 오류를 반환합니다.
- FILTERXML 함수는 결과값으로 배열을 반환합니다. 따라서 365 이전버전 사용자는 함수를 입력하기 전, 범위를 넓게 선택한 상태에서 Ctrl + Shift + Enter로 함수를 입력합니다. (비어있는 범위는 #N/A 오류가 반환됩니다.)
- 유효하지 않은 XML 문서가 입력될 경우 #VALUE 오류 값을 반환합니다.