2016-06-21 6 views
1

私はかなりの時間をかけて仕事をしていましたが、どこにも行きませんでした。Excel - 異なる見出しを持つ2つのスプレッドシートから1ピボットを作成する

シナリオ:異なる見出しを持つ2つの異なるスプレッドシートですが、データは正しい順序であり、1つのスプレッドシートからもう1つのスプレッドシートにコピーするだけでピボットが機能します。

以下

は、2枚の異なるスプレッドシートの例です:

Spreadsheet 1 :

Spreadsheet 2 :

あなたが見ることができるように、見出しは異なりますが、データをコピーして貼り付け、それはそれを並べ替えるだろうことInfactはでき残念ながら変更を加えることはできません。このため、私はあなたの助けが必要です。

私が試してみました:

  1. 統合機能を、一度だけオフ動作します。
  2. スプレッドシートをテーブルに設定してデータモデルに追加しますが、プライマリキーを指定して固有のフィールドに結合する必要があります。
  3. IveはMultiple Consolidated Sheets wizzardも使用しましたが、「列、行、値」のみを提供しますが、実際の見出しが必要です。

最後に、スプレッドシートのデータをコピーして別のスプレッドシートに貼り付けるのと同じ結果が必要なため、ピボットを設定できます。

助けてください!

ありがとうございます!

+0

私はあなたがピボットテーブルを作ることができるように、2つのテーブルを1つに結合しようとしているのですか?契約#と取引#はお互いに関係していますか? – Namkce

+0

はいを​​修正してください。はい、契約番号と案件番号は関連しています(実際には同じことですが、見出し名は変更できません) – AxleWack

+0

2つのテーブルを結合した場合、重複する行(データ)がありますか?なぜコピーして貼り付けてもらえないのですか?データは動的であり、変更できないデータソースに接続されていますか? – Namkce

答えて

1

もう一度自分で解決策を見つけました。

私は両方のスプレッドシートデータを取得し、コピーして新しいシートに貼り付けるvbaを書くことに着いた。ピボットをこの新しいシートにリンクしました。このVBAは形状(ボタンとして使用)にリンクされていました。コードは以下の通りである。今のボタンは、既存のシートとピボットのみ必要にリンクされている対更新されたデータやピボットを組み合わせることが最初にクリックする必要があるとして、私は、このようにそれをしないために期待していた

Public Sub Combine_OpenFEC_ADM_and_FEC_GoldenPeanut() 
'---------------------------------------------------------------------------------------------------------- 
'Consolidating FECs Peanut and FECs ADM for Pivot on FX Exposure Tab 
'---------------------------------------------------------------------------------------------------------- 
Dim Mainworkbook As Workbook 
Dim wsFEC_GoldenPeanut As Worksheet, wsFEC_ADM As Worksheet, wsFEC_Combined As Worksheet, wsFX_Exposure As Worksheet 

Set Mainworkbook = ActiveWorkbook 
Set wsFEC_GoldenPeanut = Mainworkbook.Sheets("Open FECs Golden Peanut USD") 
Set wsFEC_ADM = Mainworkbook.Sheets("Open FECs ADM Comm USD") 
Set wsFEC_Combined = Mainworkbook.Sheets("Open FECs Golden Peanut & ADM") 
Set wsFX_Exposure = Mainworkbook.Sheets("FX EXPOSURE") 

'Clear sheet 
wsFEC_Combined.Range("A1:Z10000").ClearContents 

wsFEC_ADM.Select 

'wsFEC_ADM.Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select 
wsFEC_ADM.Range("A1:K" & wsFEC_ADM.UsedRange.Rows.Count).Select 
Selection.Copy 
wsFEC_Combined.Select 
wsFEC_Combined.Cells(1, 1).Select 
ActiveSheet.Paste 

wsFEC_GoldenPeanut.Select 
wsFEC_GoldenPeanut.Range("A2:K" & wsFEC_GoldenPeanut.UsedRange.Rows.Count).Select 
Selection.Copy 
wsFEC_Combined.Select 
wsFEC_Combined.Cells(wsFEC_ADM.UsedRange.Rows.Count + 1, 1).Select 
ActiveSheet.Paste 

wsFX_Exposure.Select 
End Sub 

リフレッシュする。ああ...

関連する問題