top of page
Foto del escritorJaime Franco Jimenez

Unir varias tablas con Excel.CurrentWorkbook()

En este ejemplo, tenemos un libro donde tenemos cuatro hojas, cada hoja es una provincia.




Queremos crear una sola tabla con las cuatro provincias, además, si se añaden provincias nuevas, solo tenemos que actualizar.


Todas las hojas están en formato de tabla, y, cada tabla se llama como la provincia, además, todas las hojas tienen la misma estructura.


En la hoja de Cádiz, tenemos dos fechas en blanco.















Y, en la hoja de Sevilla, en la columna de provincia, hay dos celdas sin la provincia










Para poder crear una tabla única con todas las provincias, debemos de acudir a Power Query, esto, lo podemos de hacer de dos maneras, la primera de ellas es con una celda seleccionada en la primera provincia (Sevilla), vamos a la pestaña de datos, dentro del grupo obtener y transformar, y, hacemos clic en de una tabla o rango.








Se abre Power Query, y, vemos la tabla de Sevilla.












Ahora, voy a la pestaña de inicio, hacemos clic en cerrar y cargar en.









Se abre la ventana, importar datos, donde marcamos crear únicamente la conexión, y, aceptamos.














Se abre a la derecha, la ventana de consultas y conexiones, donde vemos la consulta Sevilla.









Tendríamos que repetir este paso, con cada provincia que tengamos, lo cual se puede hacer un poco pesado, lo que quiero es cargar todas las tablas a la vez.


Voy a hacer clic en la consulta Sevilla dentro de consultas y conexiones, para volver a Power Query.


En pasos aplicados, hacemos clic en origen.


En la barra de fórmulas, vemos el nombre de la tabla, y, que nos devuelva el contenido.




Bien, si solo dejo Excel.CurrentWorkbook(), quiere decir que me devuelva todas las tablas del libro activo.


Vemos que nos devuelve todas las tablas del libro activo.








Vuelvo a hacer clic en cerrar y cargar, una vez en Excel, en la ventana de consultas y conexiones, hacemos clic con botón alternativo de ratón, y, seleccionamos eliminar.


También, podemos hacerlo de la siguiente manera, vamos a la pestaña de datos, dentro del grupo obtener y transformar, desplegamos obtener datos, y, seleccionamos de otras fuentes.














En la ventana que se abre a la derecha seleccionamos consulta en blanco.


Se abre el editor de Power Query.


En la barra de fórmulas, escribimos Excel.CurrentWorkbook(), y, aceptamos.


Volvemos a tener las cuatro tablas del libro actual, donde en la ventana Content, tenemos la tabla, y, en la ventana Name, el nombre de la tabla.








Si hacemos clic en la columna Content, veremos el contenido de la tabla en la parte inferior.







Si hago clic en el botón de expandir, tendré todas las tablas.







La columna name, no la voy a necesitar, por lo que voy a hacer clic en ella, con botón alternativo de ratón, y, selecciono quitar.








Lo siguiente que voy a hacer es darle un nombre a la consulta, para ello, en la ventana de la derecha, configuración de la consulta, en la ventana nombre, le voy a poner datos, y, aceptar.









Clic en el botón de expandir.















Desmarcamos usar el nombre de columna original como prefijo.
















Aceptamos, y, tenemos todas las tablas cargadas.






Ahora, debemos de rellenar las celdas que están vacías, empezamos por la columna provincia, hacemos clic con botón alternativo de ratón sobre la columna, desplegamos rellenar, y, seleccionamos abajo.







Hacemos lo mismo en la columna de fecha.


Vemos que el tipo de datos de cada columna no ha sido detectado, por lo que pulsamos CTRL mas A, para seleccionar todo el modelo.


Vamos a la pestaña transformar, dentro del grupo cualquier columna, hacemos clic en detectar tipo de datos.







Comprobamos que los tipos de datos detectados son correctos.


En la columna fecha, aparece la fecha y la hora, pero no hay hora, para ello, hago clic en el siguiente icono, y, selecciono fecha.












Señalo la columna de cantidad, voy a la pestaña de inicio, despliego tipos de datos, y, elijo numero entero.










Hago lo mismo en la columna de total.


Vamos a cargar el modelo en una nueva hoja de cálculo, para ello, desde la pestaña de inicio, hacemos clic en cerrar y cargar.










Ya tenemos el modelo en Excel.











Si algún dato cambia, solo tenemos que actualizar, para ello, hacemos clic con botón alternativo de ratón sobre una celda, y, seleccionamos actualizar.












Si nos fijamos en la ventana de consultas y conexiones, a la derecha, vemos que nos indica que hay 451 filas.








Pero, no es cierto, si hago clic en actualizar, vemos que nos aparecen más filas.








Esto es debido a que este informe también es una tabla, entonces, se esta agregando a las otras tablas, vamos a volver a Power Query, vamos a pasos aplicados, y, hacemos clic en el paso origen, vemos que aparecen todas las tablas, incluida la que hemos creado.








Por lo que se cargan las tablas de Sevilla, Córdoba, Almería, Cádiz, y, Datos, por lo que debemos de excluir la consulta Datos, lo podemos hacer haciendo clic en el siguiente icono.









Desplegamos filtros de texto, y, seleccionamos no contiene.
















Hacemos clic en insertar paso.







Se abre la ventana filtrar filas, pues, en la ventana a la derecha de no contiene, ponemos Datos.








Aceptamos, y, vemos que ya no aparece la consulta Datos.







Volvemos a cerrar y cargar.


Ahora, tenemos el numero de filas correctos, es decir, la unión de todas las provincias, pero no la consulta de Datos, aunque actualicemos, este número ya no cambiara.








He añadido una nueva provincia.





Actualizo el modelo, y, vemos como aparece dicha provincia.


A partir de ahora, podemos crear una tabla dinámica.



41 visualizaciones0 comentarios

Entradas Recientes

Ver todo

Comments


bottom of page