固定格式表格对位汇总

 

N个格式完全相同的Excel文件,要把这些文件汇总起来成为一个文件,数字单元格的值为各文件中的同名数字单元格之和。

 

举例

总公司有收到各分公司发来的资产负债表,其中某分公司的表格如下图所示(共有37行,图中只列出14)

..

现在需要用各分公司的表格汇总出总公司的资产负债表。

编写SPL脚本:


A

B

C

1

=directory@p("e:/zcfzb/zc*.xlsx")



2

=A1.(file(~).xlsopen())



3

=to(4,37)

[B,C,E,F]

=A3.(B3.(~/A3.~)).conj()

4

for   C3

>v=null


5


for   A2

>v+=number(B5.xlscell(A4,1))

6


>A2(1).xlscell(A4,1;string(v))


7

=file("e:/zcfzb/total.xlsx").xlswrite(A2(1))

A1   列出文件夹中要汇总的所有以zc开头的资产负债表文件名,选项@p表示列出文件全路径

A2   打开A1中列出的文件为Excel对象

A3   指定要汇总的数字单元格的行号范围4-37

B3   指定要汇总的数字单元格的列号B,C,E,F

C3   A3行号和B3列号拼出所有要汇总的数字单元格的名称

A4   循环C3中所有要汇总的单元格

B4   定义汇总值变量v

B5   循环所有分公司资产负债表

C5   从当前分公司资产负债表中读出当前汇总单元格的值,转成数值后累加到v

B6   将完成累加后的v保存到第1个分公司的资产负债表中

A7   将第1个分公司的资产负债表保存到总公司资产负债表total.xlsx