如何分类合并多个文件中的串信息
例题描述和简单分析
有三个 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