2017-03-14 46 views
1

這裏是我的數據,現在的樣子:移調範圍,然後重複該行下面

編輯:我忘了補充一點,我需要轉是一種經常性 - 每n列,我需要開始轉再次。在這個例子中,我每2列都有它,但我的實際數據集是每3列。

Username Product 1 Product 2 Service 1 Service 2 
Person 1 Name1  Name2  Name3  Name4 
Person 2 Name5  Name6  Name7  Name8 

而這正是我希望我的數據是這樣的:

Username Product Service (What I've come up with, formula-wise, for PRODUCT:) 
Person 1 Name1 Name 3  OFFSET([Person 1],0,ROW($A$1)) 
Person 1 Name2 Name 4  OFFSET([Person 1],0,ROW($A$1)+1) 
Person 2 Name5 Name 7  OFFSET([Person 2],0,ROW($A$1)) 
Person 2 Name6 Name 8  OFFSET([Person 2],0,ROW($A$1)+1) 

我已經不知道如何使用VBA或宏,並有大量的數據,所以我也沒有興趣手動轉置這個。有沒有可以在這裏工作的公式?

我一直在瘋狂嘗試弄清楚OFFSET如何工作。現在,我有一個在上表中看到的公式。 [Person 1]和[Person 2]區域內部實際上是一個INDEX-MATCH,因此OFFSET在正確的行上開始,並在移動到下一個人時更新。然後我手動複製並粘貼下一組兩行。如果這聽起來過於複雜,那就更糟糕了 - 它不起作用。

我非常感謝任何能夠幫助我的OFFSET專家,或者如果之前已經回答了這個問題,我可以指出正確的方向。我一直在環顧四周,但不確定是否使用了正確的搜索字詞。

+0

這稱爲反向數據透視表和Excel有工具來執行此操作,請參閱:http://stackoverflow.com/questions/20541905/convert-matrix-to-3-column-table-reverse-pivot-unpivot- flatten-normal –

+0

謝謝!我之前沒有聽說過這個詞,但這聽起來像是我的問題:)將查看您鏈接的文章 –

+1

另外一個注意事項:OFFSET是一個易失性函數,應避免大量數據,因爲它會在每次重新計算excel時重新計算,While像@Jeeped給出的INDEX公式不是不穩定的,只會在它們引用的數據發生變化時重新計算。 –

回答

2

把這兩個公式F2:G2,

=INDEX(A:A,INT((ROW(1:1)-1)/3)+2) 
=INDEX(B:D, INT((ROW(1:1)-1)/3)+2,MOD(ROW(1:1)-1, 3)+1) 

向下填充。

enter image description here

+0

謝謝!我會試一試,讓你知道它是怎麼回事 –

+0

你太棒了!非常感謝!我有一種感覺ROW發揮作用,但實際上一直在與關係公式奮鬥 –

-2

A.這可以通過選擇行和列簡單地完成。

B.通過右鍵單擊選擇複製選定的單元格。

C.選擇您要複製轉置數據的目標範圍的第一個單元格。 D.使用「選擇性粘貼」粘貼複製的數據,然後轉到「轉置」功能。

E.您可以通過右鍵單擊目標單元格並從上下文菜單中選擇選擇性粘貼來找到此選擇,然後選擇轉置。

這應該適合你。讓我知道它是如何去的。

+1

這不會給OP所期望的輸出,它只是將行轉換爲列和列到行。這不是所需的輸出。 –

+0

您是否要手動將變量添加到每列中? – BritenGGrosi