¿Cómo combinar datos de múltiples archivos de Excel en un solo archivo de Excel o acceder a la base de datos?

12

Tengo unas pocas docenas de archivos de Excel que tienen el mismo formato (es decir, 4 hojas de trabajo por archivo de Excel). Necesito combinar todos los archivos en 1 archivo maestro que debe tener solo 2 de las 4 hojas de trabajo. Las hojas de trabajo correspondientes de cada archivo de Excel se nombran exactamente igual que los encabezados de columna.

Si bien cada archivo está estructurado de la misma manera, la información dentro de las hojas 1 y 2 (por ejemplo) es diferente. Por lo tanto, no se puede combinar en un archivo con todo en una hoja.

¡Nunca antes había usado VBA y me pregunto dónde podría comenzar esta tarea!

lalabeans
fuente

Respuestas:

3

Como los quería en una hoja, creo que lo anterior no es lo que estaba buscando.

Yo uso Microsoft Access para fusionar datos. Especialmente, si diferentes hojas tienen un identificador similar (número de pieza / persona de contacto / ect).

Crea una "tabla" para cada hoja de cálculo que se fusionará. Crea una "consulta" que extrae las columnas deseadas a una hoja

Agente-311
fuente
7

Consulte el complemento Asistente para consolidar hojas de trabajo para Excel

El complemento tiene varios modos de fusión, uno de ellos hace exactamente lo que necesita.

Consulte este enlace para obtener una descripción detallada del modo (cómo combinar hojas con el mismo nombre en una)

El complemento es un shareware, pero tiene una versión de prueba completamente funcional de 15 días (botón de descarga en la parte superior de la página), por lo que puede combinar miles de sus libros de forma gratuita :)

Alex Frolov
fuente
4

Aquí hay una solución en python.

import glob
import pandas as pd

path = "<path to files>"
file_identifier = "*.xlsx"

all_data = pd.DataFrame()
for f in glob.glob(path + "/*" + file_identifier):
    df = pd.read_excel(f)
    all_data = all_data.append(df,ignore_index=True)
abalter
fuente
¡Siempre te sorprende lo que puedes hacer con unas pocas líneas de python!
TimoSolo
1
para escribir el archivo, use algo como esto: writer = pd.ExcelWriter('merged.xlsx', engine='xlsxwriter') \n all_data.to_excel(writer, sheet_name='Sheet1') \n writer.save()
TimoSolo
0
  1. Abra todos los libros de Excel en la misma instancia de Excel.
    • Puede que tenga que hacer clic en el botón interno "restaurar" para ver los libros individuales.
  2. Seleccione todas las hojas que desea mover haciendo Ctrlclic en las pestañas de la hoja de trabajo.
  3. Haga clic derecho en una de las pestañas seleccionadas y elija Mover o Copiar ...
  4. En el cuadro de diálogo que aparece, seleccione el libro de trabajo de destino (su libro de trabajo "Maestro") y luego elija dónde insertarlos.
    • La opción (mover al final) es probablemente lo que desea, pero siempre puede reordenarlos más tarde.
    • Elija Crear una copia si no desea que las hojas se eliminen del primer libro
  5. Haz clic en Aceptar .

Las hojas de trabajo seleccionadas se moverán o copiarán del libro de trabajo original a su libro de trabajo "Maestro". Simplemente cierre el wookbook de origen y vuelva a hacerlo con el siguiente, hasta que haya reunido todas las hojas de trabajo que le interesan en un gran wookbook. ¡Asegúrate de ahorrar!

Darth Android
fuente
Sí, funciona con Excel 2010.
Keks Dose