2017-05-11 5 views
0

Excelに複数のシートがあり、すべてが「名前」の列を持っています。私は重複しないでこれらのすべてを組み合わせたリストを求めています。ピボットテーブルは私の理解ではできません。これを試してみると、A:A列の結果しか得られません。http://www.cpearson.com/EXCEL/TableToColumn.aspxしかし、この例では、D:D "ColumnData"とテーブル "DataTable"(名前は間違っているとは思われませんが、A:A、B:B、C:CはD:私はいくつかの結果を得るので)。Excelへのテーブル

助けが必要ですか?

=OFFSET(DataTable; 
MOD(ROW()-ROW([ColumnData]);ROWS(DataTable)); 
TRUNC((ROW()-ROW([ColumnData]))/ROWS(DataTable));1;1) 

追加情報:

まず私が作るためにピボットテーブルを持っているこれは、私が使用し、D2(私のエクセルのローカルためのセミコロンにだけ変更カンマ)に入れているコードです私のシートから重複する名前のないリスト(大量のデータで構成されているので)。次に、式の名前(名前管理者)を持っています。

='Name lists'!$A$2:INDEX('Name lists'!$A:$A;MATCH("*";'Name lists'!$A:$A;-1);1) 

..「NamesSheet1」などを呼び出します。

私はその後移入:と私のテーブルでA:

=IFERROR(INDEX(NamesSheet1;MATCH(NamesSheet1;NamesSheet1;0));"") 

はダウン名よりも多くの行にその式をドラッグし..and。それから、新しい列「B:B」、「C:C」ごとに繰り返します。

+0

これは一度だけですか?すべてのデータを新しい列にコピーして、その範囲のデータ...削除複製オプションを使用してもよろしいですか? – xQbert

+0

残念ながら、新しいデータをシートに複数回入力して新しい名前が追加されましたすべての名前はすべてのsに含まれていませんが、すべての時間彼らは異なるデータを表すのでヒートします。私は最終的なシートにデータ検証リストを持っています。そこでは、名前のうちの1つだけを選択して、そのセル(リスト)を参照して、すべてのシートのデータをまとめて表示します名前が一致する場所。ですから、データ検証リストのためにすべての名前を1つの列に入れる動的な方法が必要なだけです。新しいデータを手動で作成するのではなく、生データを入力するだけです。 –

+0

http://stackoverflow.com/questions/29995903/how-to-merge-columns-from-different-sheets-without-duplicatesがあなたの後になっている可能性があります – xQbert

答えて

0

ブック内の新しいタブの名前をマスターに変更します。以下のコードを実行します。異なるタブのすべてのデータをマスタータブにコピーします。これが必要であるかどうか、または必要な変更があれば教えてください。

Sub ttest() 

Dim wb As ThisWorkbook 
Dim ws As Object 

For Each ws In ActiveWorkbook.Worksheets 
ws.Select 
ActiveSheet.UsedRange.Copy 
Worksheets("Master").Select 
i = Range("A65536").End(xlUp).Row 
Range("A" & i+1).Select 
ActiveSheet.Paste 
Next 


End Sub 
+0

はい、すべてのリストについて、リスト内の最後のデータの下に各リストをコピーして貼り付けることができます。私はマクロを使用することを避けようとしており、リンクされたサンプルをA:B:B:C:C:D:D:A:A D:Dに、例とまったく同じコードでリストされています。 –

0

私は(「ColumnDataR」 - カラムとして重複を削除しませんでしたリンクの例から「ColumnDataR」-optionと一緒に行く、そしてその列からピボットテーブルを作ることによって、私の満足度にそれを修正しました。その後、私は新しいピボットテーブルに基づいて新しい名前リスト(名前マネージャ)を作成しましたが、少し長めになりましたが、今ではRawデータをシートに入力してからすべてのデータを更新する必要があります。

関連する問題