如何在同一行中列出多列的值对应的所有数据
例题描述和简单分析
有 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