function

SERVICIO.WEB

Todo sobre la función SERVICIO.WEB en Excel

La función SERVICIO.WEB en Excel es una herramienta poderosa que permite obtener datos directamente desde un servicio web en Internet o en una intranet. Un servicio web es una forma en que las aplicaciones se comunican entre sí a través de la web. Con esta función, puedes solicitar información a una URL específica y recibir una respuesta, que generalmente viene en formatos como XML, JSON o CSV.

Es especialmente útil para integrar datos en tiempo real en tus hojas de cálculo, como cotizaciones de bolsa, tasas de cambio de divisas, información meteorológica o cualquier otro dato disponible a través de una API (Interfaz de Programación de Aplicaciones) pública o privada.

Sintaxis

=SERVICIO.WEB(url)

La función tiene un único parámetro:

  • url: La dirección URL del servicio web al que se le está solicitando la información. Obligatorio.

Ejemplos

Ejemplo 1: Obtener datos de una API pública

Este ejemplo utiliza una API pública para obtener la fecha y hora actuales. La función contacta la URL y devuelve el resultado directamente en la celda.

=SERVICIO.WEB("http://worldtimeapi.org/api/timezone/Etc/UTC.txt")

Resultado esperado: Una cadena de texto con la fecha y hora actuales en formato UTC, similar a: 2023-10-27T10:30:00.123456+00:00 (el valor exacto cambiará cada vez que la fórmula se recalcule).

Ejemplo 2: Crear una URL dinámica para consultar el precio de una criptomoneda

Podemos hacer que la URL sea dinámica utilizando el valor de otra celda. En este caso, construiremos una URL para consultar el precio del Bitcoin en Euros (EUR) usando una API de cotizaciones. El código de la moneda (EUR) estará en la celda A2.

A
1 Moneda
2 EUR
=SERVICIO.WEB("https://api.coindesk.com/v1/bpi/currentprice/" & A2 & ".json")

Resultado esperado: La función devolverá una cadena de texto en formato JSON con la información del precio. Para extraer un dato específico de esta cadena, como el precio, necesitarás usar funciones de texto como EXTRAE, ENCONTRAR y SUSTITUIR. Por ejemplo, el resultado podría ser: {"time":{"updated":"...","updatedISO":"..."},"bpi":{"EUR":{"code":"EUR","rate":"32,000.00","description":"Euro","rate_float":32000.00}}}.

Observaciones

Es importante recordar que SERVICIO.WEB devuelve el contenido completo de la respuesta de la URL como una única cadena de texto. Si el servicio web devuelve datos en un formato estructurado como XML, puedes usar la función FILTRAR.XML para extraer información específica.

Los datos obtenidos por esta función no se actualizan automáticamente en tiempo real. Para refrescar los datos, es necesario que la hoja de cálculo se recalcule (por ejemplo, presionando la tecla F9 o realizando un cambio en la hoja).

Errores comunes

  • #¡VALOR!: Ocurre si la URL no es una cadena de texto válida, si el protocolo no es compatible (solo se admiten http, https y ftp), o si la respuesta del servicio web supera el límite de 32,767 caracteres de una celda. También puede aparecer si la URL no devuelve ningún contenido o devuelve un error.
  • #¡NOMBRE?: Suele indicar que el nombre de la función está mal escrito o que la versión de Excel que estás utilizando no la incluye.

Disponibilidad por versión de Excel

La función SERVICIO.WEB está disponible a partir de Excel 2013 y en todas las versiones posteriores, incluyendo Microsoft 365, Excel para la web y Excel para Mac.

Compatibilidad

Software Compatibilidad Notas
Microsoft Excel ✔️ Disponible desde Excel 2013.
Google Sheets ✔️ La función equivalente se llama WEBSERVICE.
LibreOffice Calc ✔️ También dispone de una función llamada WEBSERVICE.
OpenOffice Calc Esta función no está disponible.
WPS Office Spreadsheets ✔️ Compatible.
Apple Numbers ✔️ Dispone de una función WEBSERVICE con la misma funcionalidad.

Funciones Relacionadas

  • FILTRAR.XML: Es la compañera ideal de SERVICIO.WEB cuando el servicio web devuelve datos en formato XML, ya que permite extraer fácilmente datos específicos usando expresiones XPath.
  • CODIFICAR.URL: Útil para convertir una cadena de texto con caracteres especiales en un formato de URL válido antes de pasarla como argumento a SERVICIO.WEB.

Ver también...