转置并重复列

时间:2018-02-06 14:35:44

标签: google-sheets

我知道这可能是一个很长的镜头,但在这里:

我们假设我有这些数据:

  A     B
2014    1
2015    2
2016    3
2017    4
2018

这些列不相关。但基于此我想创建一个这样的表:

2014 2014 2014 2014 2015 2015 2015 2015 2016 2016 2016 2016
  1    2    3   4    1     2    3    4    1    2    3    4

甚至更好的是每列重复5次。我希望实现的目标是我每年和每季度都有数据,然后我想分别显示每个季度和每年年底的平均值:

2014 2014 2014 2014 2014 2015 2015 2015 2015 2015 2016 2016 2016 2016 2016
  1    2    3   4    avg   1    2    3    4   avg   1    2    3    4   avg

我已经使用了TRANSPOSE(A2:B6),但是如果可能的话,我会陷入重复的一面

由于我在第一列中有数据,因此可能更容易实现:

A           B      C     D
                 2014  2015
Label A     1      x     x
Label A     2      x     x
Label A     3
Label A     4
Label B     1

A列中的标签是使用QUERY拍摄的,只是一个例如人的列表 - 我可以重复吗?然后,X将是一个单一的查询,以获得A,B和C列的正确数据

1 个答案:

答案 0 :(得分:0)

rept次重复字符串。如果您可以选择合适的分隔符(某些字符不会出现在数据中),则可以通过joinsplit滥用其他数据。我用|作为分隔符:

=split(join("", arrayformula(rept(A2:A6 & "|", 5))), "|")

这将A2:A6的内容放在一行中,重复每个条目5次。

类似的技巧让B2:B6的内容重复但循环:1,2,3,4,平均,1,2,3,4,平均...:

=split(rept(join("|", B2:B6), 7), "|")

这里7是循环应该重复的次数。