如何把多列扩展成多行

 

例题描述

有宿舍人员登记表room.xlsx1个宿舍住有不定人数,部分数据如下图所示:

..

现在需要根据上表数据转换成每个人员与宿舍的对应关系表,如下图所示:

..

 

实现步骤

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