如何将多个不定行的 Sheet 合并成一个汇总表
某对账单随着日期不断增加(以多 sheet 保存)
但有的日期可能会有多条记录,如 7-5:
现在需要将对账单实时汇总到第一个“应收账款明细”页签中,形成如下结果:
使用集算器实现步骤:
1. 安装运行集算器
可去润乾官网下载职场版,同时下载一个免费授权就够了,首次运行时会提示加载。
2. 编写脚本
脚本列出来看下:
A |
B |
C |
D |
|
1 |
=file("39/ 对账模板.xlsx") |
=A1.xlsopen() |
=create(${16.("_"/~).string()}) |
[A,B,C,D,E,F,G,H,I,J] |
2 |
for B1.(stname).to(2,) |
=B1.xlscell("J6",A2) |
=to(21,25).(B1.xlscell("I"/~,A2)) |
|
3 |
for |
>row=8+B3 |
||
4 |
if len(B1.xlscell("A"/row,A2))==0 |
break |
||
5 |
=D1.(B1.xlscell(~/row,A2)) |
|||
6 |
>C1.insert(0,C5(1),B2,${C5.to(2,).string()},${C2.string()}) |
|||
7 |
=B1.xlsexport@a(C1;B1.stname) |
=A1.xlswrite(B1) |
C1 创建用于保存结果的序表,共 16 列,与目标结果列数相同
A2 从第二个 sheet 开始循环,取得运单号、开票税金等单值数据
B3 开始则读取日对账单多行(不定行)记录,并与上面的单值数据组成一条记录插入 C1 中,直到读完最后一行
最后将结果表写入 Excel(A7)并输出文件(B7)
3. 按 F9 运行脚本就可以看到开头提到的结果“应收账款明细”了。当然还可以再进一步进行处理,判断并将新增日对账单添加到明细中,这里不再赘述。