如何分类合并多个文件中的串信息

例题描述和简单分析

有三个 Excel 文件“表 1.xlsx”、“表 2.xlsx”、“表 3.xlsx”,数据如下所示:

需要把表 1、表 2 、表 3 的 B 列和 D 列作为条件对应,把 F 列的数据汇总,重复的数据只保留前面表中的一个,结果如下:

解法及简要说明

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


A

1

=3.(file("表 "/~/".xlsx").xlsimport@t())

2

=join@f(A1(1):b1,工作名称, 日期;A1(2):b2, 工作名称, 日期;A1(3):b3, 工作名称, 日期 )

3

=A2.new(ifn(b1.工作代码,b2. 工作代码,b3. 工作代码 ): 工作代码,ifn(b1. 工作名称,b2. 工作名称,b3. 工作名称): 工作名称,ifn(b1. 责任人,b2. 责任人,b3. 责任人): 责任人,ifn(b1. 日期,b2. 日期,b3. 日期): 日期,[b1. 操作人员,b2. 操作人员,b3. 操作人员].(~.split("、")).merge@ou().concat("、"): 操作人员, 操作人员.split("、").count(): 人数).new(工作代码, 工作名称, 责任人, 日期, 人数, 操作人员)

4

=file("result.xlsx").xlsexport@t(A3)

简要说明:

A1   将三个表的数据依次读成序表,三个序表为一个序列

A2  三个序表按(工作名称,日期)全关联

A3  按题目要求汇总成总表

执行程序后,result.xlsx 就是需要的结果。

问答搜集

http://club.excelhome.net/thread-1571856-1-2.html