2013-10-18 21:03:56 +0000 2013-10-18 21:03:56 +0000
12
12

Come unire i dati di più file Excel in un unico file Excel o in un database di accesso?

Ho alcune dozzine di file excel che sono tutti dello stesso formato (cioè 4 fogli di lavoro per ogni file Excel). Devo combinare tutti i file in un file master che deve avere solo 2 dei 4 fogli di lavoro. I fogli di lavoro corrispondenti di ogni file Excel sono denominati esattamente come le intestazioni delle colonne.

Mentre ogni file è strutturato allo stesso modo, le informazioni all'interno dei fogli 1 e 2 (per esempio) sono diverse. Quindi non possono essere combinate in un unico file con tutto in un unico foglio!

Non ho mai usato VBA prima d'ora e mi chiedo da dove potrei iniziare questo compito!

Risposte (5)

7
7
7
2013-10-21 10:39:29 +0000

Si prega di vedere il Consolidate Worksheets Wizard add-in per Excel

L'add-in ha diverse modalità di fusione, una di queste fa esattamente quello che serve. Vedere questo link per una descrizione dettagliata della modalità (come combinare fogli con lo stesso nome in uno solo)

L'add-in è uno shareware, ma ha una versione di prova completamente funzionale di 15 giorni (pulsante di download in cima alla pagina), in modo da poter unire migliaia di cartelle di lavoro gratuitamente :)

4
4
4
2016-05-20 17:57:22 +0000

Oggi mi sono imbattuto in questo link RDBMerge, Excel Merge Add-in for Excel for Windows , che credo servirà allo scopo.

4
4
4
2016-10-25 22:45:42 +0000

Qui è una soluzione in pitone.

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)
3
3
3
2013-10-18 21:36:29 +0000

Dato che li volevi su un unico foglio, penso che quanto sopra non sia quello che cercavi.

Uso Microsoft Access per unire i dati. Soprattutto se fogli diversi hanno un identificatore simile (numero di parte/persona di contatto/ect).

Crei una “tabella” per ogni foglio da unire Crei una “query” che tira le colonne desiderate in un unico foglio

0
0
0
2013-10-18 21:28:57 +0000
  1. 1. Aprire tutte le cartelle di lavoro di Excel nella stessa istanza di Excel.
  2. Potrebbe essere necessario fare clic sul pulsante interno “Ripristina” per vedere le singole cartelle di lavoro.
  3. Aprire tutte le cartelle di lavoro di Excel. 2. Selezionare tutti i fogli che si desidera spostare con Ctrl+Clicking sulle schede del foglio di lavoro.
  4. Selezionare tutti i fogli che si desidera spostare con Ctrl+Clicking sulle schede del foglio di lavoro.
  5. Selezionare tutti i fogli che si desidera spostare con Ctrl+Clicking sulle schede del foglio di lavoro. 3. Cliccare con il tasto destro del mouse su una delle schede selezionate e scegliere Sposta o Copia…
  6. Nella finestra di dialogo che si apre, selezionare la cartella di lavoro di destinazione (la cartella di lavoro “Master”) e poi scegliere dove inserirle.
  7. L'opzione (sposta alla fine) è probabilmente quella che si desidera, ma è sempre possibile riordinarle in seguito.
  8. Scegliete Creare una copia se non volete che i fogli vengano rimossi dalla prima cartella di lavoro
  9. Cliccate OK.

I fogli di lavoro selezionati verranno spostati o copiati dalla cartella di lavoro originale nella vostra cartella di lavoro “Master”. Chiudete il wookbook di origine e rifatelo con il successivo, fino a quando non avrete raccolto tutti i fogli di lavoro che vi interessano in un unico grande wookbook. Assicuratevi di salvare!