Google电子表格将多个列堆叠为一个

时间:2016-08-05 09:19:35

标签: google-sheets spreadsheet

我想做一个简单的任务,但不知怎的,我无法做到。假设我有一个列,如:

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的启发。

由于

3 个答案:

答案 0 :(得分:3)

试试这个:

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

我们在这里使用:

记下您的评论,然后您可以使用以下公式:

=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示例。

答案 1 :(得分:1)

几百行是没有的东西:)

我创建了从1到n的索引,然后将其粘贴两次并按索引排序。但使用公式来表达它显然更加出色:)

enter image description here

答案 2 :(得分:1)

假设您的列表在A列中并且(现在)重复次数在C1中(可以更改为公式中的数字),那么这样的简单事件(从B1开始):

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

只需根据需要复制(在最后一项之后只给出0)。没有排序。没有数组。没有床单/ excel问题。没有繁重的计算。