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

例题描述和简单分析

有 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