web-dev-qa-db-ja.com

Excel:共通フィールドに基づいてデータセットにマージする

共通の単一の数値フィールドFIELD_Aを持つ2つのExcel.csvファイルがあります。

私ができるようにしたいのは、この共通フィールドを利用して2つの間でデータをマージすることです。これにより、両方の.csvファイルのデータを含むデータの行を含む単一のファイルが作成されます。

つまり.

file_1.csv:

FIELD A | FIELD B

1       | foo

と合併

file_2.csv:

FIELD A | FIELD C

1       | bar

結果として

merged_file.xls:

FIELD A | FIELD B  | FIELD C

1       | foo      | bar

Excelを使用してこの種のことを行う方法はありますか?

1
fox

FIELD Aエントリの一意のリストを準備します
新しいシートのColumnAで、file_1.csvのヘッダー付きのフィールドAの詳細をコピーし、file_2.csvのヘッダーなしのフィールドAの詳細に追加します。ソートすることもできます。高度なフィルターColumnA、別の場所にコピー、コピー先:B1、および一意のレコードのみが選択されています。 OK。 (重複の削除は、高度なフィルターほど信頼性が高くありません。)

ルックアップ
各ソースファイルで範囲にrangeという名前を付けます。 C2に次のように入力します。

= IFERROR(VLOOKUP($ B2、file_1.csv!range、2、FALSE)、 "")

D2にコピーします。 D212に変更します。必要に応じてC2:D2をコピーします。

片付け
ColumnsC:Dをコピーして貼り付け/特殊/値を上に貼り付けます。 ColumnsA:Bを削除します。

1
pnuts

Excelファイルからクエリを使用できます。

  • File_1.csvでデータセットの名前を定義します([式]タブ-> [名前の定義])
  • File_2.csvでデータセットの名前を定義します
  • [データ]タブに移動し、[他のソースから]を選択し、ドロップダウンから[MicrosoftQueryから]を選択します
  • ブックファイルを選択し、列を手動でマージすることを確認します
  • 次のウィンドウ「Excelファイルからのクエリ」で、最初のデータセットのFIELDA列を2番目のデータセットのFIELDA列にドラッグアンドドロップします。これらの列間にリンクが作成されます。
  • [ファイル]メニューに移動し、[データをMS Office Excelに返す]をクリックすると、[データのインポート]ダイアログがポップアップ表示されます。
  • 一致したデータをインポートするシートを選択します
  • [OK]をクリックします->列FIELDA |の一致したデータが表示されます。フィールドB |フィールドA |フィールドC

または、ワークブックをオンラインサービスにアップロードしてもかまわない場合は、たとえば http://www.gridoc.com/join-tables を使用して、ドラッグアンドドロップを使用してシートをマージできます(免責事項:Iツールの作者です)

お役に立てれば。

1
endriju