如何把多列扩展成多行
例题描述
有宿舍人员登记表room.xlsx,1个宿舍住有不定人数,部分数据如下图所示:
现在需要根据上表数据转换成每个人员与宿舍的对应关系表,如下图所示:
实现步骤
1、 运行集算器
可去润乾官网下载职场版,同时下载一个免费授权就够了,首次运行时会提示加载。
2、 编写脚本:
把代码列出来看得清楚点:
A |
|
1 |
=file("E:/宿舍管理/room.xlsx").xlsimport@t() |
2 |
=A1.news(~.array().delete(1);~:姓名,宿舍号) |
3 |
=A2.select(姓名) |
4 |
=file("E:/宿舍管理/room1.xlsx").xlsexport@t(A3) |
A1 读入room.xlsx文件数据,选项@t表示首行是列标题
A2 循环A1每行,取出各列值组成序列,删除第1列的宿舍号后,把序列中的每个人员扩展出一个2列的行,第1列为人员姓名,第1个~表示A1的当前循环行,第2个~表示列值序列中的当前人员,第2列为宿舍号。
A3 选出A2中姓名不为空的
A4 把A3中的结果保存到文件room1.xlsx中
3、 按F9运行程序,运行结束后打开room1.xlsx可以看到生成的目标表格。
【附件】 room.zip