2016-08-05 122 views
2

我想做一個簡單的任務,但不知怎的,我無法做到這一點。假設我有一列,如:谷歌電子表格將多個列堆疊成一個

a 
z 
e 
r 
t 

我該怎麼做才能兩次創建具有相同值的新列,有以下結果:

a 
a 
z 
z 
e 
e 
r 
r 
t 
t 

我已經嘗試過將翻一番我列,並完成類似=TRANSPOSE(SPLIT(JOIN(";",A:A,B:B),";"))但它創造:

a 
z 
e 
r 
t 
a 
z 
e 
r 
t 

我得到this answer到目前爲止啓發。

感謝

+0

如何複製數據,粘貼兩次到另一列然後排序? – pawelty

+0

是的,但我有幾百行... :) –

回答

3

試試這個:

=SORT({A1:A5;A1:A5})

這裏我們使用:

結合3210

會計您的評論,然後你可以使用這個公式:

=QUERY(SORT(ArrayFormula({row(A1:A5),A1:A5;row(A1:A5),A1:A5})),"select Col2")

的想法是通過連續使用數據的附加列與列的數量,然後排序,然後query只得到值。


而且joinsplit方法做同樣的: =TRANSPOSE(SPLIT(JOIN(",",ARRAYFORMULA(CONCAT(A1:A5&",",A1:A5))),","))

這裏我們使用範圍只有兩次,所以這是更容易使用。另請參閱Concat + ArrayFormula示例。

+0

謝謝,但我不希望它被排序它可以是3; 3; 1; 1; 2; 2; 4; 4; 5; 5例如 –

+0

這是可能的,但更難。我已經更新了答案。 –

+0

真棒,完美的作品!沒想到這樣的任務會是如此複雜的公式。謝謝!!!爲我保存了很多複製/粘貼 –

1

幾百行是什麼:)

我創建的索引從1到n,然後粘貼兩次,並通過指數排序。但是,這顯然票友用公式:)

enter image description here

1

假設你的清單中列A和(現在)的重複次數是C1做到這一點(可改變爲數字的公式),那麼簡單的東西像這樣的會做(在B1開始):

=INDEX(A:A,(INT(ROW()-1)/$C$1)+1) 

只需複製下來,因爲你需要它(最後一個項目後會給剛剛0)。沒有排序。沒有陣列。沒有工作表/ Excel問題。沒有繁重的計算。

相關問題