La función FILTERXML devuelve datos específicos del contenido XML mediante la xpath especificada.
Notas:
-
La función FILTERXML no está disponible en Excel para la Web y Excel para Mac.
-
Esta función puede aparecer en la galería de funciones de Excel para Mac, pero se basa en las características del sistema operativo Windows, por lo que no devolverá resultados en Mac.
Sintaxis
XMLFILTRO(xml, xpath)
La sintaxis de la función XMLFILTRO tiene los siguientes argumentos:
argumento |
Descripción |
---|---|
xml Requerido |
Una cadena en formato XML válido |
xpath Requerido |
Una cadena en formato XPath estándar |
Notas:
-
Si xml no es válido, FILTERXML devuelve el #VALUE! o #VALOR!.
-
Si xml contiene un espacio de nombres con un prefijo que no es válido, FILTERXML devuelve la #VALUE! o #VALOR!.
Ejemplos
-
En este ejemplo se usa la función FILTERXML en datos XML devueltos en la celda B2, que se proporciona mediante los resultados de la función SERVICIO_WEB en la consulta web en la celda B1.
Los datos de FILTERXML se devuelven en las celdas B3:B5 y C3:C5, y muestran los tres resultados de consulta actualizados más recientemente en Wikipedia y la hora de sus actualizaciones (en UTC, "Hora universal coordinada").
Las celdas B3:B5 contienen la fórmula =FILTERXML(B3,"//rc/@title").
Las celdas C3:C5 contienen la fórmula =FILTERXML(B3,"//rc/@timestamp").
Nota: Si tiene una versión actual de Microsoft 365, basta con que escriba la fórmula en la celda superior izquierda del rango de salida y después presione ENTRAR para confirmar la fórmula como una fórmula de matriz dinámica. En caso contrario, la fórmula debe especificarse como una fórmula de matriz heredada, primero seleccione el rango de salida, introduzca la fórmula en la celda superior izquierda del rango de salida y después presione CTRL+MAYÚS+ENTRAR para confirmarlo. Excel inserta llaves al principio y al final de la fórmula por usted. Para obtener más información sobre las fórmulas de matriz, vea Directrices y ejemplos de fórmulas de matriz.
-
También puede usar FILTERXML junto con las funciones ENCODEURL y WEBSERVICE. Por ejemplo, puede usar el servicio de api markitondemand.com para devolver información sobre las acciones de una empresa:
=WEBSERVICE("http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol="&ENCODEURL(C2))
Donde tiene un ticker de acciones en la celda C2.
A continuación, puede usar la función FILTERXML para extraer datos específicos sobre esa acción. Por ejemplo, para obtener el último precio del ticker de acciones en la celda C2, puede usar:
=FILTERXML(WEBSERVICE("http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol="&ENCODEURL(C2)),"//QuoteApiModel/Data/LastPrice")
¿Necesita más ayuda?
Siempre puede preguntar a un experto en la Excel Tech Community u obtener soporte técnico en Comunidades.