2015-05-19 80 views
0

來解釋它在可能的最簡單的方法:隨機值,以新行兩個單元在同一時間

| 1 | 2 | 3 | 4 | 
| 5 | 6 | 7 | 8 | 

...需要看起來像:

| 1 | 2 | 
| 3 | 4 | 
| 5 | 6 | 
| 7 | 8 | 

我已經嘗試使用TRANSPOSE()函數,但在這種情況下似乎不起作用。

我該如何完成這個簡單的任務?

+0

你需要這是一個公式嗎?如果不是,你可以用'Copy' - >'Paste Special' - >'Transpose'來手動完成這個操作。 – chancea

+1

我不認爲這是一個數據轉換,只是將右邊的兩列簡單地拖動到原來的下一行。 – Jeeped

+0

@Jeeped我也注意到了。這不是一個真正的轉換 – chancea

回答

1

在未使用的電池的使用權這一公式,

=OFFSET($A$1, INT((ROW(1:1)-1)/2), COLUMN(A:A)-1+MOD((ROW(1:1)-1), 2)*2) 

填寫右側的一列,並填寫下來,遠非必要。你的結果應該類似於以下內容。

Shuffle columns down

+0

簡單易用。 – extractguy

1

您將excel-vba放入您的代碼中,因此我會爲您發佈vba代碼。我不知道如何用簡單的細胞公式來做到這一點。希望這足以配置得到你想要的東西,超越了簡單的例子,你給:

START_ROW = 1 
START_COL = 1 
STEP_COL = 2 
OUTPUT_ROW = 3 
OUTPUT_COL = 10 

Row = START_ROW 
Col = START_COL 
Out_Row = OUTPUT_ROW 
While Cells(Row, Col).Value <> "" 
    While Cells(Row, Col).Value <> "" 
     For step = 0 To STEP_COL - 1 
      Cells(Out_Row, OUTPUT_COL + step).Value = Cells(Row, Col + step).Value 
      Cells(Out_Row, OUTPUT_COL + step).Value = Cells(Row, Col + step).Value 
     Next step 
     Out_Row = Out_Row + 1 
     Col = Col + STEP_COL 
    Wend 
    Col = START_COL 
    Row = Row + 1 
Wend 
相關問題