反向电子表格列

时间:2018-05-25 03:18:25

标签: google-sheets

我想反转电子表格的列。样品是“A1:E1”栏中的“p227”,“s121”,“p117”,“p252”,“s215”。值是随机的。我希望将此列反转为“s215”,“p252”,“p117”,“s121”,“p227”。

我试过了=TRANSPOSE(SORT(TRANSPOSE(A1:E1),1,false))。但输出为"s255", "s121", "p212", "p187", "p121"。值已排序。这不会反转列。有办法解决这个问题吗?我应该使用GAS吗?

示例

      A    B    C    D    E

1   p227 s121 p117 p252 s215

预期结果

      A    B    C    D    E

1   s215 p252 p117 s121 p227

非常感谢您的时间。

3 个答案:

答案 0 :(得分:3)

这是一般的

方法:

Transpose
Add row numbers
Sort descending by row number
Transpose
Remove row numbers

公式:

=ArrayFormula(query(TRANSPOSE(sort({row(indirect("1:"&columns(A1:E2))),transpose(A1:E2)},1,false)),"select * offset 1"))

enter image description here

修改

在反思时,这可能有点整洁,在转置之前添加列号并避免间接:

=ArrayFormula(query(TRANSPOSE(sort(transpose({COLUMN(A1:E2);A1:E2}),1,false)),"select * offset 1"))

答案 1 :(得分:2)

您可以使用数组文字语法手动将列重新组合为您喜欢的顺序:

={A:A,F:F,E:E,D:D,C:C,B:B}

或者,使用QUERY()重新排序列。

QUERY(A:F, "SELECT A, F, E, D, C, B")

答案 2 :(得分:2)

尝试

=TRANSPOSE(SORT(TRANSPOSE(A1:E1),TRANSPOSE(COLUMN(A1:E1)),0))
  • 按降序使用COLUMN编号排序
  • 需要TRANSPOSE,因为SORT仅适用于行