web-dev-qa-db-ja.com

複数のExcelファイルのデータを単一のExcelファイルまたはアクセスデータベースにイメージする方法

私は数十ダースのExcelファイルを持っていますが、それらはすべて同じフォーマットです(つまり、Excelファイルごとに4つのワークシート)。すべてのファイルを1つのマスターファイルにまとめ、4つのワークシートのうち2つだけを含める必要があります。各Excelファイルの対応するワークシートは、列見出しとまったく同じ名前が付けられています。

各ファイルは同じように構成されていますが、シート1と2の情報(たとえば)は異なります。そのため、すべてを1枚のシートにまとめて1つのファイルにまとめることはできません。

私はこれまでVBAを使ったことがないので、このタスクをどこから始めればよいかと思います。

11
lalabeans

あなたはそれらを一枚のシートにしたかったので、私は上記があなたが探していたものではないと思います。

データをマージするために、Microsoft Accessを使用します。特に、異なるシートが同じような識別子(部品番号/担当者/ ect)を持っている場合。

結合するスプレッドシートごとに「テーブル」を作成します。目的の列を1つのシートにプルする「クエリ」を作成します。

3
Agent-311

Excel用の 統合ワークシートWizardアドイン を参照してください。

アドインにはいくつかのマージモードがあり、そのうちの1つはまさにあなたが必要としていることを行います。

モードの詳細な説明については、このリンク を参照してください(同じ名前のシートを1つに組み合わせる方法)。

このアドインはシェアウェアですが、15日間の全機能試用版(ページ上部のダウンロードボタン)を持っているので、無数のワークブックを無料でマージできます。

7
Alex Frolov

ここで は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)
4
abalter

今日私はこのリンクに出会いました RDBMerge、Excel用Excelマージアドインfor Windows 、これが目的にかなうと思います。これは無料のマクロベースです。ツール。

4
lalthomas
  1. Excelの同じインスタンスですべてのExcelブックを開きます。
    • 個々のワークブックを表示するには、内部の「復元」ボタンをクリックする必要があります。
  2. 移動したいシートをすべて選択します Ctrl+ワークシートのタブをクリックする。
  3. 選択したタブの1つを右クリックして、移動またはコピー...を選択します。
  4. 表示されたダイアログで、移動先のワークブック(あなたの「マスター」ワークブック)を選択し、それらをどこに挿入するかを選択します。
    • (最後に移動)オプションはおそらくあなたが望むものですが、あなたはいつでも後でそれらを並べ替えることができます。
    • 最初のワークブックからシートを削除したくない場合は、コピーを作成するを選択します。
  5. OKをクリックします。

選択したワークシートは、元のワークブックからあなたの「マスター」ワークブックに移動またはコピーされます。気になるワークシートをすべてまとめて1つの大きなブックにまとめるまで、ソースのブックを閉じて、次のブックをもう一度実行してください。必ず保存してください。

0
Darth Android