Comment fusionner des données de plusieurs fichiers Excel en un seul fichier Excel ou une base de données Access?

13

J'ai quelques dizaines de fichiers Excel qui sont tous du même format (soit 4 feuilles de calcul par fichier Excel). Je dois combiner tous les fichiers en 1 fichier maître qui ne doit contenir que 2 des 4 feuilles de calcul. Les feuilles de calcul correspondantes de chaque fichier Excel sont nommées exactement de la même manière que les en-têtes de colonne.

Bien que chaque fichier soit structuré de la même manière, les informations des feuilles 1 et 2 (par exemple) sont différentes. Il ne peut donc pas être combiné en un seul fichier avec tout dans une seule feuille!

Je n'ai jamais utilisé VBA auparavant et je me demande par où commencer cette tâche!

lalabeans
la source

Réponses:

3

Puisque vous les vouliez sur une seule feuille, je pense que ce qui précède n'est pas ce que vous cherchiez.

J'utilise Microsoft Access pour fusionner des données. Surtout, si différentes feuilles ont un identifiant similaire (numéro de pièce / personne de contact / ect).

Vous créez un "tableau" pour chaque feuille de calcul à fusionner Vous créez une "requête" qui tire les colonnes souhaitées sur une feuille

Agent-311
la source
7

Veuillez consulter le complément de l'Assistant Consolidation des feuilles de calcul pour Excel

Le complément a plusieurs modes de fusion, l'un d'eux fait exactement ce dont vous avez besoin.

Veuillez consulter ce lien pour une description détaillée du mode (comment combiner des feuilles avec le même nom en une seule)

Le complément est un shareware, mais il dispose d'une version d'essai entièrement fonctionnelle de 15 jours (bouton de téléchargement en haut de la page), vous pouvez donc fusionner gratuitement des milliers de vos classeurs :)

Alex Frolov
la source
5

Voici une solution 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
la source
1
toujours étonné de ce que vous pouvez faire avec quelques lignes de python!
TimoSolo
2
pour écrire le fichier, utilisez quelque chose comme ceci: writer = pd.ExcelWriter('merged.xlsx', engine='xlsxwriter') \n all_data.to_excel(writer, sheet_name='Sheet1') \n writer.save()
TimoSolo
0
  1. Ouvrez tous les classeurs Excel dans la même instance d'Excel.
    • Vous devrez peut-être cliquer sur le bouton interne «restaurer» pour afficher les classeurs individuels.
  2. Sélectionnez toutes les feuilles que vous souhaitez déplacer en Ctrl+ cliquant sur les onglets de la feuille de calcul.
  3. Cliquez avec le bouton droit sur l'un des onglets sélectionnés et choisissez Déplacer ou copier ...
  4. Dans la boîte de dialogue qui s'affiche, sélectionnez le classeur de destination (votre classeur "maître"), puis choisissez où les insérer.
    • L' option (passer à la fin) est probablement ce que vous voulez, mais vous pouvez toujours les réorganiser plus tard.
    • Choisissez Créer une copie si vous ne souhaitez pas que les feuilles soient supprimées du premier classeur
  5. Cliquez OK .

Les feuilles de calcul sélectionnées seront déplacées ou copiées du classeur d'origine vers votre classeur "maître". Fermez simplement le livre source et recommencez avec le suivant, jusqu'à ce que vous ayez rassemblé toutes les feuilles de calcul qui vous intéressent dans un grand livre. Assurez-vous de sauvegarder!

Dark Android
la source
Oui, fonctionne avec Excel 2010.
Dose du