2016-02-03 88 views
0

在Excel中,我試圖將數據從一張紙複製到另一張紙上。每個數據點由九行分隔。在新的工作表中,我從第六行開始,繼續這20行。例如:Excel:將每個第n行從一張紙複製到另一張

B6=Scenarios!H7 
B7=Scenarios!H16 
B8=Scenarios!H25 
... 

我不介意這樣做手動,但我有很多列填充,基於這種模式。

C6=Scenarios!H8 
C7=Scenarios!H17 
C8=Scenarios!H26 
... 

我手動填充幾個列,並在繼續這種模式之前跳過一對'Scenario'表單行。

F6=Scenarios!H11 
F7=Scenarios!H20 
F8=Scenarios!H29 
... 

E6=Scenarios!H12 
E7=Scenarios!H21 
... 

我環顧四周,我知道,間接或OFFSET命令可以幫助像

F5=INDIRECT("Scenarios!H"&((ROW(H11)*9))) 

F5=INDIRECT("Scenarios!H"&((ROW($H7)*1)+4)) 

但我無法得到一個公式去說以我可以簡單地複製單元格並使其正確填充的方式正確工作。任何人都可以幫我解決這個問題,或者提供更好的解決方案嗎?

+0

快速澄清 - 你是否真的想跳過每一個第N行,或者一個公式的工作?我有一個公式,你可以使用它,給定一個範圍(比如A1:A10),只能返回那些在其中有內容的單元格。看到[這個線程](http://stackoverflow.com/questions/20338711/excel-array-formula-to-skip-empty-cells)爲我的意思的例子。會有那樣的工作嗎? – BruceWayne

+0

恩,就是這樣的: Sheet1) 變量A | 1234 變量B | 9876 Sheet 2) 變量A |變量B – TheHolyDarkness

+0

嗯,這基本上是一個規範化問題。我有各種連接宏自動構建JSON和其他各種基於我提供它的腳本。我只需要一個宏或公式,只需要在一個地方更改數據,以便將其反映到別處。 – TheHolyDarkness

回答

1

B6 = =INDEX(Scenarios!H:H, ROWS($B$6:B6)*9-2)

C6 = =INDEX(Scenarios!H:H, ROWS($B$6:B6)*9-1)

F6 = =INDEX(Scenarios!H:H, ROWS($B$6:B6)*9+2)

E6 = =INDEX(Scenarios!H:H, ROWS($B$6:B6)*9+3)

複製公式下來,你會得到數學的主意,如果你有其他的列來填補。

+0

我會推薦'INDEX(Scenerio!H:H,ROW(1:1)* 9 - 2)'INDIRECT是不穩定的。 –

+0

謝謝Scott,我更新了我對INDEX版本的回答。當我讀到這個問題時,我原本想到INDEX,但後來決定只是調整他的想法,使其工作。我已經熟悉了很多功能,但仍然在學習如何讓一個更好。我沒有使用大量的大量數據來學習艱難的方式。這就是使這個網站成爲各級經驗的絕佳學習工具。 – SincereApathy

+0

謝謝你真心和斯科特。我能夠用它來解決我的問題。甚至通過移動列進行測試。看起來很穩定。我非常感謝。 – TheHolyDarkness

相關問題