2017-09-06 93 views
-3

我在尋找以下問題的解決方案(巨大的感謝所有幫助):在Excel建立「扁平化」標籤的數據從多個列表列

我想創建一個「扁平化」的數據結構的幾個數據具有列出屬性的標籤。例如:

我有以下數據列表:

Date  Department Forecast Period 
Jan-16 Marketing 2015 Nov 
Feb-16 Accounting 2015 Dec 
Mar-16 HR 
Apr-16  

我要轉換到上述數據結構如下:

Date Department Forecast Period 
Jan-16 Marketing 2015 Nov 
Jan-16 Marketing 2015 Dec 
Jan-16 Accounting 2015 Nov 
Jan-16 Accounting 2015 Dec 
Jan-16 HR   2015 Nov 
Jan-16 HR   2015 Dec 
Feb-16 Marketing 2015 Nov 
Feb-16 Marketing 2015 Dec 
Feb-16 Accounting 2015 Nov 
Feb-16 Accounting 2015 Dec 
Feb-16 HR   2015 Nov 
Feb-16 HR   2015 Dec 
Mar-16 Marketing 2015 Nov 
Mar-16 Marketing 2015 Dec 
Mar-16 Accounting 2015 Nov 
Mar-16 Accounting 2015 Dec 
Mar-16 HR   2015 Nov 
Mar-16 HR   2015 Dec 
Apr-16 Marketing 2015 Nov 
Apr-16 Marketing 2015 Dec 
Apr-16 Accounting 2015 Nov 
Apr-16 Accounting 2015 Dec 
Apr-16 HR   2015 Nov 
Apr-16 HR   2015 Dec 

理想情況下,我也能夠添加/從前三個列表中刪除項目,轉換後的數據會相應調整。我不確定VBA或公式是否是解決這個問題的最佳方法,但希望你們能夠給我一些指導。

感謝, 本

+3

請仔細閱讀[*爲什麼「有人能幫助我嗎?」不是一個實際的問題*?](HTTPS:/ /meta.stackoverflow.com/q/284236/1188513)。 –

回答

0

三個公式:

=IFERROR(INDEX($A$1:INDEX(A:A,MATCH(1E+99,A:A)),INT((ROW(1:1)-1)/((COUNTA(B:B)-1)*(COUNTA(C:C)-1)))+2),"") 

=IF(E2<>"",INDEX(B:B,MOD(INT((ROW(1:1)-1)/(COUNTA(C:C)-1)),COUNTA(B:B)-1)+2),"") 

=IF(E2<>"",INDEX(C:C,MOD((ROW(1:1)-1),COUNTA(C:C)-1)+2),"") 

enter image description here

+0

非常感謝Scott解決方案。這看起來很好。如果我在網站的這一部分違反了規則,我深表歉意 - 我的印象是這會構成一個問題。作爲一個跟進,是否容易推斷公式我需要添加從你提供的公式的第四列?它看起來相當簡單,但我絕不是這類分析的專家。 – Ben

+0

@Ben通常它會顯示你已經嘗試過的以及它失敗的地方,特別是在請求vba代碼時。正如你還表示你想要一個公式**和**,我發現這是一個有趣的謎題,我回答。我也投票決定將它關閉太寬泛。只要記住,下一次你問過你曾經嘗試過的東西,是否出錯了。堆棧溢出不是我的網站的代碼,它是幫助克服有問題的代碼。 –

+0

@Ben只要添加一列,不是太難,請自行嘗試。如果你無法做到,那就回來再問一個新問題。發佈您嘗試修改上述公式並鏈接到此問題的內容。 –