Wie füge ich Daten aus mehreren Excel-Dateien zu einer einzigen Excel-Datei zusammen oder greife auf eine Datenbank zu?

13

Ich habe ein paar Dutzend Excel-Dateien, die alle das gleiche Format haben (dh 4 Arbeitsblätter pro Excel-Datei). Ich muss alle Dateien zu einer Master-Datei kombinieren, die nur 2 der 4 Arbeitsblätter enthalten muss. Die entsprechenden Arbeitsblätter aus jeder Excel-Datei haben genau den gleichen Namen wie die Spaltenüberschriften.

Während jede Datei gleich aufgebaut ist, sind die Informationen in Blatt 1 und 2 (zum Beispiel) unterschiedlich. Es kann also nicht zu einer Datei mit allem auf einem Blatt kombiniert werden!

Ich habe noch nie VBA verwendet und frage mich, wo ich diese Aufgabe starten könnte!

Lalabohnen
quelle

Antworten:

3

Da Sie sie auf einem Blatt haben wollten, denke ich, dass das Obige nicht das ist, wonach Sie gesucht haben.

Ich verwende Microsoft Access, um Daten zusammenzuführen. Insbesondere, wenn verschiedene Blätter eine ähnliche Kennung haben (Teilenummer / Kontaktperson / ect).

Sie erstellen eine "Tabelle" für jede zusammenzuführende Tabelle. Sie erstellen eine "Abfrage", die die gewünschten Spalten auf eine Tabelle zieht

Agent-311
quelle
7

Weitere Informationen finden Sie im Add-In des Assistenten zum Konsolidieren von Arbeitsblättern für Excel

Das Add-In verfügt über mehrere Zusammenführungsmodi, von denen einer genau das tut, was Sie benötigen.

Unter diesem Link finden Sie eine detaillierte Beschreibung des Modus (wie man gleichnamige Blätter zu einem kombiniert).

Das Add-In ist eine Shareware, verfügt jedoch über eine 15-Tage-Testversion mit vollem Funktionsumfang (Download-Schaltfläche oben auf der Seite), sodass Sie Tausende Ihrer Arbeitsmappen kostenlos zusammenführen können :)

Alex Frolov
quelle
5

Hier ist eine Lösung in 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
quelle
1
Immer wieder erstaunt, was man mit ein paar Zeilen Python machen kann!
TimoSolo
2
Verwenden Sie writer = pd.ExcelWriter('merged.xlsx', engine='xlsxwriter') \n all_data.to_excel(writer, sheet_name='Sheet1') \n writer.save()
Folgendes
0
  1. Öffnen Sie alle Excel-Arbeitsmappen in derselben Excel-Instanz.
    • Möglicherweise müssen Sie auf die interne Schaltfläche "Wiederherstellen" klicken, um die einzelnen Arbeitsmappen anzuzeigen.
  2. Wählen Sie alle Blätter aus, die Sie verschieben möchten, indem Sie Ctrl+ auf die Arbeitsblattregisterkarten klicken.
  3. Klicken Sie mit der rechten Maustaste auf eine der ausgewählten Registerkarten und wählen Sie Verschieben oder Kopieren ...
  4. Wählen Sie im daraufhin angezeigten Dialogfeld die Zielarbeitsmappe (Ihre "Master" -Arbeitsmappe) aus und wählen Sie dann aus, wo sie eingefügt werden sollen.
    • Die Option (zum Ende verschieben) ist wahrscheinlich das, was Sie möchten, aber Sie können sie später jederzeit neu anordnen.
    • Wählen Sie Kopie erstellen, wenn die Blätter nicht aus der ersten Arbeitsmappe entfernt werden sollen
  5. Klicken Sie auf OK .

Die ausgewählten Arbeitsblätter werden aus der ursprünglichen Arbeitsmappe in Ihre "Master" -Arbeitsmappe verschoben oder kopiert. Schließen Sie einfach das Quell-Wookbook und wiederholen Sie den Vorgang mit dem nächsten, bis Sie alle Arbeitsblätter, die Sie interessieren, in einem großen Wookbook zusammengefasst haben. Stellen Sie sicher, dass Sie speichern!

Darth Android
quelle
Ja, funktioniert mit Excel 2010.
Keks Dose