将列拆分为行范围

时间:2017-05-18 06:57:14

标签: google-sheets spreadsheet

我有一个这样的单元格:

1
2
3
4
5
6
7
8
9
10

我想使用Google表格将一列中的数据排序为2行,每列5列。

有人知道该怎么做吗?

结果应为:

1 2 3 4 5
6 7 8 9 10

2 个答案:

答案 0 :(得分:1)

无论单元格内的字符串中有多少值,解决方案都应该有效。假设细胞是G4。这是公式:

={array_constrain(split(G4, " "), 1, columns(split(G4, " "))/2);
  transpose(sort(transpose(array_constrain(transpose(sort(transpose(split(G4, " ")), 1, false)), 1, columns(split(G4, " "))/2))))
 }

答案 1 :(得分:0)

有很多方法可以做到这一点。一个是:

=TRANSPOSE({OFFSET(A1,,,COUNTA(A:A)/2),OFFSET(A1,COUNTA(A:A)/2,,COUNTA(A:A)/2)})

enter image description here

更一般的解决方案

要将列拆分为任意给定的行数,请使用以下公式:

=ArrayFormula(IFERROR(VLOOKUP( COLUMN(OFFSET(A1,,,1,ROUNDUP(COUNTA(A:A)/numRows)))+ ROUNDUP(COUNTA(A:A)/numRows)*(ROW(INDIRECT("a1:a"&numRows))-1), {ROW(A:A),A:A},2,)))

其中numRows是多行。

此:

COLUMN(OFFSET(A1,,,1,ROUNDUP(COUNTA(A:A)/numRows))) + ROUNDUP(COUNTA(A:A)/numRows)*(ROW(INDIRECT("a1:a"&numRows))-1)

生成索引:

1   2   3   4
5   6   7   8
9   10  11  12
13  14  15  16

VLOOKUP(indexes,{ROW(A:A),A:A},2,)将返回结果:

enter image description here