Como importar datos desde una web a Excel

1848

Excel nos permite realizar multitud de cosas de manera sencilla. Una de las más interesantes es la de poder volcar los datos directamente desde una web o base de datos a nuestra hoja de Excel. De esta manera podremos manejar los datos, realizar cálculos, confeccionar plantillas sin tener que “picar” los datos uno a uno.

En esta entrada pondremos el ejemplo de seguir la cotización de los diferentes valores del mercado continuo español a través de una hoja de cálculo como Excel. No vamos a complicarnos, simplemente  veremos qué fácil es tener los datos disponibles y actualizados.

Importar los datos a Excel

Para realizar esta tarea, lo primero que tenemos que hacer es dirigirnos a la pestaña “DATOS” y elegir del conjunto de “obtener datos externos” la opción “DESDE WEB”. Al hacerlo se abrirá una ventana, que es un navegador interno del propio office, en el cual tendremos que introducir la web de la que recogeremos los datos.

importar datos web a excel

 

En este caso hay numerosas webs que ofrecen datos sobre la cotización de los valores del mercado continuo español, pero nos hemos decidido por Cotizalia. Por lo tanto, en la ventana del navegador introduciremos la URL donde se encuentren los datos que queramos volcar a la hoja de Excel.

Al entrar en la web veremos lo mismo que en un navegador normal salvo una cosa, observaremos que a lo largo de la página nos encontraremos unos pequeños cuadros amarillos que contienen una flecha. Éstas, señalarán el contenedor de los datos que podremos volcar (generalmente hay uno al comienzo de cada web que nos permite volcar los datos de la web entera). A veces estos cuadros aparecen justo en la tabla que nos hace falta a nosotros y por tanto nos servirá con esa y no nos hacen falta el resto de datos, pero por desgracia esto no es así en la mayoría de ocasiones y tendremos que seleccionar todo.

importacion de datos excel

Una vez sepamos qué datos queremos clicaremos encima de la flecha amarilla (se pondrá de color verde) para decirle a Excel que vuelque los datos allí contenidos. Una vez hecho esto nos aparecerá una ventana que nos permitirá seleccionar la celda en la cual queremos volcar los datos. Seleccionamos la celda donde queramos que se produzca el volcado de datos y le damos al botón de “PROPIEDADES”.

Actualización automática de los datos

Si solo quisiéramos tener los datos y nada más, podríamos haberle dado a “Aceptar” y ya estaría. Pero si lo que queremos es seguir las cotizaciones de los valores, lo mejor que podemos hacer es que éstas se actualicen cada cierto tiempo. Excel nos permitirá especificar el intervalo de tiempo que pasará entre la actualización de los datos y también podremos hacer que el archivo se actualice nada más abrirlo. Ya solo nos queda darle a “ACEPTAR”.

propiedades actualizacion de datos excel

Ahora tendremos que esperar en función del número de datos (si son demasiados quizás Excel se demore un poco). El resultado es como el que vemos en la imagen. Si os fijáis al seleccionar todos los datos de la web, la tabla de cotizaciones la tenemos a partir de la fila 129. El problema que se nos presenta ahora es que no podemos formatear o cambiar estos datos ya que cuando pase el intervalo de tiempo que hemos establecido entre cada actualización de los datos, éstos volverán a tener el aspecto inicial. Entonces, para trabajar con ellos y presentarlos de una mejor manera, crearemos una hoja nueva de Excel.

resultado consulta web en excel

En esta hoja lo que vamos a hacer es simplemente darle formato a la tabla para permitir una mejor visualización. Para copiar los datos, lo que haremos será situarnos en la celda que queramos de una nueva hoja vacía y poner (= ó +) y dirigirnos a la hoja, que hemos denominado “Datos” (que es en la que hemos volcado los datos), y seleccionar la celda correspondiente de la tabla. Una vez tengamos el primer dato copiado en la hoja nueva podemos arrastrar hacia la derecha (en nuestro caso desde “Nombre” hasta la columna “hora”). Después arrastramos para completar la tabla, tenemos que tener en cuenta que al arrastrar los datos puede que el formato se pierda.

[box style=’help’] TRUCO: Para evitar la pérdida de formato lo que haremos será arrastrar hacia la derecha en los encabezados de las columnas (ya que todos tienen formato texto) y luego para las columnas de datos iremos una por una (si los formatos son diferentes). Es decir en nuestro ejemplo nos colocaríamos debajo de la celda que contiene “Último” e introduciríamos un “=” y después elegiríamos en la tabla de datos el valor correspondiente. De esta manera podremos arrastrar hacia abajo sin estropear el formato. Si la columna de al lado tiene un formato diferente repetiríamos la misma acción[/box]

Formatear la tabla

Una vez hecho esto solo nos queda darle formato a nuestra nueva tabla, en ésta, aunque se actualicen los datos no sufrirá cambios en el formato. Como ejemplo hemos aplicado formatos condicionales a la columna “Dif.” y “%Dif.” para que nos muestre en verde las diferencias positivas y en rojo las negativas. De este modo nuestra tabla será más visual e intuitiva. Con la actualización de los datos, los colores irán variando también.

colocar formatos en tabla excel

 

[box style=’help’] TRUCO: Para seleccionar todas (o varias) las celdas de una columna o fila hasta el final de ésta, no tendremos que ponernos encima de la primera y arrastrar, pulsando las teclas CTRL+SHIFT+FLECHA (hacia la dirección elegida) las seleccionaremos todas de un golpe. Esto es muy útil cuando tenemos tablas con un número elevado de filas o columnas [/box]

Para aplicar un formato condicional solo tendremos que ir en la pestaña “Inicio” y seleccionar “Formato Condicional”, podremos optar por condiciones preestablecidas como las que se muestran en la imagen o añadir una nosotros. En este caso elegimos la opción “Es mayor que” y “Es menor que” el número cero para formatear de color verde y rojo las celdas.

formato condicional excel

Una vez hayamos formateado nuestra tabla, podremos crear columnas auxiliares que nos permitan hacer más intuitiva nuestra tabla, por ejemplo, con una simple condicional, hemos comparado el último valor de la cotización con su máximo diario, para ver si la cotización está en máximo o mínimo.

Otra cosa que nos puede interesar es no mostrar la hoja con los datos (por eso de no cometer errores o modificar algún dato sin querer). Para ocultar una hoja, simplemente pulsamos con el botón derecho encima de la pestaña donde se muestra el nombre de la hoja y le damos a “Ocultar”.

ocultar hoja de excel

Por último si hemos elegido actualizar el contenido cada 10 minutos por ejemplo, si queremos actualizar los datos antes de ese tiempo podremos pulsar el botón “Actualizar Todo” de la pestaña “Datos” o bien pulsar la combinación de teclas CTRL+ALT+F5. Pues bien, aquí os dejamos el resultado final de nuestra tabla.

actualizar datos automaticamente

Con esto y un poco de ingenio, podremos crear verdaderas plataformas con las cuales seguir datos de cualquier tipo. Si tenemos conocimientos en Visual Basic y Macros podremos crear nuestras propias herramientas de análisis sin tener que recurrir a otro tipo de software. Si tenéis alguna pregunta no dudéis en comentar.

  • Jose Luis Santos

    Esto lo tengo claro y ya he hecho algunas hojas, pero quisiera saber para aumentar las posibilidades, como hacerlo con la pagina de la bolsa de madrid y el mercado continuo. La bolsa de madrid solo muestra desde abengoa hasta endesa. He intentado cambiar a la pagina siguiente de bolsa de madrid y seleccionar la tabla que muestra pero al importar vuelve a importar la tabla desde abengoa a endesa de nuevo
    Jose Luis Santos e-mail jsantos1@xtec.cat

    • ambito

      No conozco el caso concreto de la web de la bolsa de Madrid, pero en algunas webs no se puede importar los datos ya que utilizan scripts o formatos que no son compatibles.

  • drazik

    El gran problema que encuentro yo esta en los decimales. Excel trabaja con puntos y TODAS las webs que he encontrado lo hacen con comas. No en todas las cotizaciones se utilizan los mismos decimales (p.ej. A3M tiene 2 decimales y MTS tiene 3) con lo cual, no puedo dividir entre 1.000, ni utilizar el reemplazar “,” por “.”. Algun consejo? Yo lo único que quiero es poder operar esos datos. Gracias de antemano

    • J. Garcia

      Puedes cambiar para que Excel trabaje con comas, lo que pasa que luego tienes que acordarte. Puedes trabajar con datos de varias web diferentes, vuelcas los datos en una hoja y luego los trabajas en otra. Lo de los decimales depende de donde cojas los datos, si en una web sale con 2 y otra con 3 pues eso no es problema de excel, lo que hace excel simplemente es volcar datos. Otra cuestión es que excel te ponga los datos de 3 decimales con 2, si pasa eso tendrás que formatear la columna donde trabajes esos datos. Lo de las comas y los puntos también se puede realizar con una macro pero para evitar trabajo y problemas creo que lo mejor es tratar de buscar webs que te proporcionen los datos tal como los buscas, de esta manera ahorrarás trabajo. Un saludo

  • Fabian

    Tengo un tema. Como hacer si la web de la que necesito descargar los datos la tengo escrita en una celda de mi libro(ej. A1)

    • Poner que actualice la web en otra celda

  • Hola, deberás seleccionar la tabla correspondiente. Si no aparece la posibilidad de marcar la tabla como se indica en el post, entonces por esta vía no podrías descargar dinámicamente los datos.

    Saludos

  • David Arenas Montoya

    J tengo una dificultad, y es que solo me importa 100 lineas, que puedo hacer para cambiar esa cifra?

    • Hola David!

      Importa toda la tabla que marques. Si quieres traerte informacion de otra web tendrás que generar otra consulta.

      Saludos