web-dev-qa-db-ja.com

キー列に基づいて複数のExcelブックを結合する

さまざまなクライアントから7つのワークブック(xlsxファイル)を取得し、それぞれに1枚のシートがあります。

各シートには、少なくとも1つの共通ID列(UNIQ、PK)があります。ワークブックの1つには、可能なすべてのIDのリストが含まれています。他のものはすべてのIDのレコードを持たない場合がありますが、各行にはID値が定義されています。

最初の列IDを使用して、各ファイルの残りのすべての列を結合した最終ワークブックを作成する必要があります。

次に、final.xlsxを電子メールで送信する必要があるため、ソースファイルに依存しません(定数値を保持しながらそれを逆参照できるかどうかはわかりません)。

VLOOKUPまたは組み込みのExcel関数を使用してこれを実行できますか?

8
Annie

この操作を1回だけ実行する場合。次のようにできます:

  1. すべてのID(Workbook0)を含むワークブックに移動します
  2. Workbook0でvlookupを適用して、workbook1から必要なすべての値を取得します
  3. Workbook2 ... 3 ..&から値を取得するプロセスを繰り返します。
  4. 最終的には、必要なすべてのデータを含むワークブック(workbook0)が必要です。IDは最初の列にあり、残りのデータは他の列にあります
  5. 参照を解除するには、数式を含むすべてのセルを選択してCtrl + Cを押します
  6. 選択を解除せずに、[貼り付け]-> [特殊貼り付け]に移動し、[値の貼り付け]を選択します。これは、値のみで数式セルを上書きします
  7. 次に、データ->接続に移動します
  8. 他のワークブックとの接続を切断します(存在する場合)
  9. 保存して、独立したファイルをメールで送信する準備ができました

また、これが非常に頻繁に行う必要がある場合、手順は同じままです。開始する前に、マクロの記録をクリックし、上記の手順を実行し、そのコードを少し調整し、将来のために他のファイルに保存することをお勧めします。次回から手動で行う必要はありません。

10
Xaq

別のアプローチを試してみたい場合は、「Excelクエリウィザード」をご覧ください https://superuser.com/questions/722348/merge-and-combine-in-Excel/747430#7474

1
endriju

2つのExcelファイルをAccessデータベースにインポートします。

クエリウィザードを使用して、2つのテーブルから選択し、結果を新しいExcelシートにコピーします。

AccessとExcelは同じパッケージに含まれているため、追加費用はかかりません。

0
Mahmoud Fayez