举例
追加
有每日商品进货发货统计表如下图:

另有商品每日进销存汇总表如下:

现在需要把一日的进货发货数据追加到汇总表,并计算新的库存:前日库存+进货-发货
编写SPL脚本:
| A | |
| 1 | =T("e:/work/20200803.xlsx").derive(Inventory) |
| 2 | =T("e:/work/total.xlsx") |
| 3 | =A1.run(Inventory=A2.select@z1(Goods==A1.Goods).Inventory+Purchase-Delivery) |
| 4 | =file("e:/work/total.xlsx").xlsexport@a(A3) |
A1 读出需追加汇总的当日数据并新增一列Inventory
A2 读出汇总表数据
A3 循环A1中每一行,令Inventory的值为汇总表中最后一条当前商品的Inventory加上当前的Purchase再减去当前的Delivery。选项@z1表示从后向前选择第1条满足条件的记录
A4 将A3中的结果追加保存到文件total.xlsx,选项@a表示追加数据
累计
有销售人员每日销售额统计表,表中有一列是当月销售额统计,如下图所示是8月1日的表,月销售额已填:

下图所示是8月2日的表,只有当日销售额。本月其它表格均与此类似。

现在需要把各日表中的月销售额都填写完整。
编写SPL脚本:
| A | B | |
| 1 | =directory@p("e:/sales/*.xlsx").sort() | |
| 2 | =A1.(T(~)) | |
| 3 | for A2.to(2,) | =A3.run('Month sales'='Day sales'+A2(#A3).select@1(Name==A3.Name). 'Month sales') |
| 4 | =A2.run(T(A1(#),~)) | |
A1 列出本月每日销售统计表文件并排序,选项@p表示列出文件全路径
A2 循环读出A1中所有的统计表数据为序表
A3 从第2日统计表开始循环
B3 循环当前统计表的每条记录,令月销售额为日销售额加上前一日该人员的月销售额
A4 循环A2中的所有计算后的统计表,保存到A1中相应序号的文件名中
本文档展示了如何使用SPL脚本处理日常业务数据,包括将进货发货数据追加到商品库存汇总表,以及填充销售人员月销售额。通过实例演示了如何运用循环和条件运算,实现Excel表格的数据整合与更新。
686

被折叠的 条评论
为什么被折叠?



