我想反转电子表格的列。样品是“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
非常感谢您的时间。
答案 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"))
修改强>
在反思时,这可能有点整洁,在转置之前添加列号并避免间接:
=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))