如何实现反方向转置
现有 Excel 文件 source.xlsx,部分数据如下:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
8 |
9 |
11 |
|
22 |
33 |
||
44 |
现需将 M 列的二维表转置为 M 行,要求从第 M 列开始转,依次为 M-1,M-2…2,1 列
结果如下:
4 |
7 |
11 |
33 |
44 |
3 |
6 |
9 |
22 |
|
2 |
5 |
8 |
||
1 |
借助集算器可以很方便地完成这件事。可去润乾网站下载集算器职场版,运行时需要一个授权,免费版本就够用。
1. 在集算器中编写脚本 rvstrans.dfx:
A |
B |
|
1 |
=clipboard@e() |
/从剪切板读取数据 |
2 |
=A1.split@n("\t") |
/将字符串返回为序列的序列 |
3 |
=transpose(A2) |
/将序列的序列转置 |
4 |
=A3.rvs() |
/将转置后的序列倒序 |
5 |
=A4.concat@n("\t") |
/将序列的序列拼为字符串 |
2. 先在Excel中选中源片区(A1:D5),按下ctrl+C,复制到系统剪贴板,打开集算器IDE,编写并执行以上脚本。执行后,A5 就是转置后的结果,可以复制 A5 格值,再回 Excel 中,选中 A7 单元格,按下ctrl+V,粘贴结果。
复制 A5 格结果:
粘贴结果:
对转置结果还有其他要求时,例如:转置后的结果,每行间隔两空行,可以直接更改结果字符串:=replace(A5,"\n","\n\n\n"),这句表达式的意思是,更改 A5 字符串中的一个换行符为三个换行符。