现有 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 字符串中的一个换行符为三个换行符。