如何在同一行中列出多列的值对应的所有数据

例题描述和简单分析

有 Excel 文件 book1.xlsx,数据如下所示:

现在要在右侧的工单号、施工单后的同一行中列出左侧多列对应的值,结果如下:

解法及简要说明

在集算器中编写脚本 p1.dfx,如下所示:


A
1 单号       工单号    施工单…
2 工单号    施工单…
3 =A1.import@t()
4 =A2.import@t()
5 =A3.group(工单号, 施工单;~.id(单号): 单号 )
6 =A5.align(A4:[工单号, 施工单 ],[工单号, 施工单])
7 =A6.(单号 ).concat@n("\t")

简要说明:

A1   从 excel 中复制左侧数据区域

A2   从 excel 中复制右侧数据区域

A3  将 A1 读成序表

A4  将 A2 读成序表

A5   工单号, 施工单分组,组内为去重后对应的各个单号

A6  将分组结果按照右侧的 [工单号, 施工单] 对其

A7  将对应的单号,用制表符分割,用回车符换行

执行程序后,在集算器中选中 A7 单元格,再点击右侧对应的“copy data”按钮。在 Excel 文件中,点击 G2,按 Ctrl+V 就可以把计算结果粘贴过来。

问答搜集

http://club.excelhome.net/thread-1505580-1-1.html