Categoría: Web
¿Qué hace la función SERVICIOWEB?
La función SERVICIOWEB devuelve datos de un servicio web.
Disponibilidad
- Excel 365: Si
- Excel 2019: Si
- Excel 2016: Si
- Excel 2013: Si
- Excel 2010: No
- Excel 2007: No
- Excel 2003: No
Sintaxis
SERVICIOWEB(Url)

Argumento | Obligatorio | Descripción |
---|---|---|
Url | Si | Es la dirección URL del servicio web. |
Observaciones importantes:
- Si los argumentos no pueden devolver los datos, se devolverá el error #¡VALOR!
- Si los argumentos dan como resultado una cadena de texto que no es válida o que su longitud es mayor que los 32767 caracteres permitidos en una celda, se devolverá el error #¡VALOR!
- Si la dirección URL es una cadena de texto que contiene más de los 2048 caracteres permitidos para una solicitud GET, se devolverá el error #¡VALOR!
- Los protocolos ftp:// y file:// no son compatibles con la función y, en caso de usarlos, se devolverá el error #¡VALOR!
Nombre en otros idiomas
- Inglés: WEBSERVICE
- Portugués: SERVIÇOWEB
- Francés: SERVICEWEB
- Italiano: SERVIZIO.WEB
- Alemán: WEBDIENST
Ejemplo de la función SERVICIOWEB
El objetivo de un servicio web es intercambiar datos entre aplicaciones usando protocolos y formatos de archivo estándar.
Lo más común es comunicarse con el servicio web a través del protocolo HTTP, que es el mismo protocolo para las páginas web, y obtener los datos en formato XML, JSON o inclusive en formato CSV.
La función SERVICIOWEB facilitará mucho el trabajo desde Excel ya que, lo único que debemos ingresar como argumento será la URL donde se encuentra el servicio web que nos entregará los datos.
Hoy en día son pocos los servicios web que son gratuitos, ya que el procesamiento y entrega de datos es una tarea que consume muchos recursos en los servidores de las empresas.
Al momento de crear este ejemplo, el servicio web es gratuito, pero debes considerar que es probable que los dueños cambien de parecer e implementen algún plan de pago.
El servicio que usaremos es ofrecido gratuitamente desde la página https://www.zipcodeapi.com/API que nos ayuda a obtener información de códigos postales en EE.UU.
Específicamente usaremos la opción distance que nos ayuda a obtener la distancia entre dos códigos postales.

En la imagen anterior puedes ver la petición GET (en texto color rojo) que debemos armar, considerando que las variables están encerradas entre <> incluyendo la API Key la cual se proporciona en la parte inferior.
Esta página nos provee de algunas listas desplegables y cuadros de texto que nos permiten hacer una prueba del servicio web.
En este ejemplo, he solicitado el formato XML y la distancia en kilómetros entre los códigos postales 89170 y 90220.
Después de pulsar el botón “Make Request”, obtenemos el resultado en XML que se muestra por debajo y que indica una distancia de 373.12 kilómetros.
Ahora consumiremos este servicio web desde nuestro libro de Excel.
En la siguiente imagen observas una hoja donde he colocado los argumentos que necesitaremos para construir la petición al servicio web.

Estos argumentos son los mismos que se configuraron en la prueba de la página y web incluyendo la API Key.
En la siguiente imagen se observa la concatenación de todos los argumentos en la celda B8 que dan forma al Url que usaremos para la función SERVICIOWEB.

Finalmente consumiremos el servicio web insertando la función SERVICIOWEB en la celda C11 y puedes observar el resultado inmediato, que son los datos en formato XML tal y como lo observamos en la prueba que hicimos directamente en la página web.

Una vez que tenemos los datos en formato XML, podemos usar la función XMLFILTRO para obtener algún dato específico.
De esta manera, la función SERVICIOWEB nos ayudará a consumir un servicio web y dejará los datos en una celda de nuestra hoja.
Atículos relacionados
- Nuevas funciones en Excel 2013: Descubre las nuevas funciones introducidas en Excel 2013 las cuales incluyen a la función SERVICIOWEB.