FILTERXML 함수
2013지원 버전 자세히 보기
엑셀 FILTERXML 함수는 XML 문서에서 지정한 요소나 속성을 추출하는 함수입니다.
인수 설명
=FILTERXML(XML, xPath)
노드 이름, /, //, ., .., @ 등의 경로 기호를 사용할 수 있습니다.
함수 개요
엑셀 FILTERXML 함수는 XML 문서에서 xPath로 지정한 요소나 속성을 추출하는 함수입니다. 결과값은 배열로 반환되며, 엑셀 2013 이후 Windows 버전에서 사용할 수 있습니다. 아래 수식의 XML문서에는 breakfast_menu 아래에 food 노드 5개가 name·price·calories 순서로 입력되어 있으며, 각 노드의 name과 calories는 순서대로 벨기에 와플 650, 생크림 벨기에 와플 900, 블루베리 크로플 900, 프렌치 토스트 600, 크로아상 세트 950입니다.
=FILTERXML(XML문서, "/breakfast_menu/food/name")name 요소를 모두 추출합니다.=FILTERXML(XML문서, "/breakfast_menu/food/calories")calories 요소를 모두 추출합니다.
관련 함수로 WEBSERVICE 함수 와 ENCODEURL 함수 가 있습니다.
FILTERXML 함수 간단 예제
XML문서에는 breakfast_menu 아래에 food 노드 5개가 있고, 각 노드의 name은 순서대로 벨기에 와플, 생크림 벨기에 와플, 블루베리 크로플, 프렌치 토스트, 크로아상 세트입니다. 아침 메뉴 XML 문서에서 모든 name 요소를 추출합니다.
=FILTERXML(XML문서, "/breakfast_menu/food/name")모든 name 요소를 배열로 반환합니다.엑셀 365에서는 반환된 배열이 시트 위에 동적으로 출력됩니다.

XML문서의 food 노드별 calories는 벨기에 와플 650, 생크림 벨기에 와플 900, 블루베리 크로플 900, 프렌치 토스트 600, 크로아상 세트 950입니다. 아침 메뉴 XML 문서에서 food 노드 아래의 calories 요소를 모두 추출합니다.
=FILTERXML(XML문서, "/breakfast_menu/food/calories")food 노드 아래의 calories 요소를 배열로 반환합니다.
지정한 xPath에 해당하는 값이 세로 방향의 1차원 배열로 반환됩니다.
그 외 주의사항
엑셀 2013 이후 Windows 버전에서만 사용할 수 있으며 Mac 엑셀에서는 사용할 수 없습니다.
세로로 긴 형태의 1차원 배열만 반환할 수 있습니다. 가로 2칸 이상의 배열이 반환되면 #VALUE! 오류를 반환합니다.
엑셀 365 이전 버전에서는 결과 범위를 먼저 선택한 뒤 Ctrl + Shift + Enter로 입력해야 합니다. 비어 있는 범위에는 #N/A 오류가 반환됩니다.
유효하지 않은 XML 문서를 입력하면 #VALUE! 오류를 반환합니다.