web-dev-qa-db-ja.com

Excel-共通の列に基づいて2つのテーブルの行をマージする方法

コンテンツで一致するcolが1つだけの2つのワークシートをマージしようとしています。

両方のワークシートの列「A」には一致する値がありますが、他のすべてのフィールドは異なります。

Worksheet1:

Col "A" colb colcコールド

(worksheet1には25,000行あります)

Worksheet2:

Col "A"コールcolf colg

(worksheet2には22,000行があるため、一部の行が欠落しています)

新しい組み合わせのワークシートは、このように見る必要があります:

Col "A" colb colc cold cole colf colg(新しいワークシートには25,000行あります)

これどうやってするの?

ここの例の図: http://www.ablebits.com/office-addins-blog/2014/02/06/merge-rows-Excel/#merge-matching-rows

2
user3368180

そのためには=vlookup()を使用する必要があります。大きなシートの列Aを新しいシートの列Aにコピーします。次に、=vlookup(A1, [Worksheet1.xls]tab1!$A$1:$D$25000, 2, false)を使用して列Bを作成します。残りの列をすすぎ、繰り返して、必要に応じてvlookup関数の値を変更します。

1
JNevill

これにはPower Queryアドインを使用します。単一の数式やコードを記述せずにこの要件を処理できるMergeコマンドがあります。

http://office.Microsoft.com/en-au/Excel-help/merge-queries-HA104149757.aspx?CTT=5&Origin=HA103993872

切り替えが遅すぎないことを願っています。たった5時間しか経過していないので、おそらくまだvlookup式を編集しています...

2
Mike Honey

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

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

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

お役に立てれば。

2
endriju

これがあなたの目的であるかどうかはわかりませんが、両方のワークシートの内容全体をコピーして1つのワークシートまたは新しいワークブックに貼り付け、並べ替えてから、Excelの重複削除機能を使用して、Excelで使用する列ラベルを確認します重複を削除します。

0
BillDOe