2016-02-12 116 views
0

我有一個數據集在列標題中有幾個月,我想根據目前的月份複製行。我遇到的一個問題是自動化,因爲用戶不斷被添加/刪除。Excel(或VBA)有條件轉置行

UserID User State Jan($) Feb ($) Mar ($) .... Dec ($) 
111  AAA CT $55 $100 $125   $100  
112  BBB NJ $50 $34 $125   $125 
113  CCC NV $55 $100 $125   $155 
114  DDD VT $95 $108 $75   $199 
115  EEE NJ $20 $100 $125   $120 

樣本輸出:

UserID User State Month Spend 
111 AAA CT Jan $55 
111 AAA CT Feb $100 
111 AAA CT Mar $125 
111 AAA CT Apr $80 
111 AAA CT May $70 
. 
. 
. 
115 EEE NJ Nov $50 
115 EEE NJ DEC $120 
+1

你有什麼試過?一旦你的輸出表設置好了幾個月後,你可以使用索引/匹配或vlookup來返回其他信息。請讓我們知道你到目前爲止嘗試過什麼,以及有沒有工作。 – BruceWayne

+0

我已經能夠手動複製它,但表格是動態的,並且用戶經常被添加/移除,以及花費。一直在使用數據透視表設置,但幾個月不會按預期拉動。 – Porkythepig

回答

2

對於公式的答案:

![enter image description here

爲第3列:

在第一個單元格中你想要的第一列你的數據,我的是A11:

=INDEX(A:A,QUOTIENT(ROW(1:1)-1,12)+2) 

對於月:

在兩個複製列,然後複製下來。

在要在其中數據的第四列第一個單元格,我的是D11:

=CHOOSE(MOD(ROW(1:1)-1,12)+1,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec") 

然後複製下來。

對於金額:

在要在其中數據第五列第一個單元格,我的是E11:

=INDEX($A:$O,QUOTIENT(ROW(1:1)-1,12)+2,MOD(ROW(1:1)-1,12)+4) 

然後把它複製下來。

+0

還需要這個月。 –

+0

@ n8是我忘了給我秒。 –

+0

感謝這工作! – Porkythepig

0

你沒說訪問,但在這裏是如何它可以在Access來完成。我不認爲Excel數據透視表可以做到這一點......?
您需要排序 - 與交叉表查詢相反。
聯合查詢執行此操作。
看看這個例子是否讓你朝着正確的方向前進。

enter image description here

enter image description here

+0

謝謝!我試圖看看我是否可以在Excel中做到這一點,因爲我的訪問和SQL技能是有限的。 – Porkythepig