合并汇总多个相同格式 Excel 很常见,每次手工操作费时费力,而且有的 Excel 格式比较复杂又会增加汇总难度。
比如,每个月下属的各个分公司都会上报一个 Excel

每个分公司的 Excel 都包含相同的项目,格式也完全相同

现在要汇总(求和)红色 sheet 页的 6 个项目,将结果写入格式完全一样的汇总 Excel 中。
实现步骤:
1. 首先准备一个汇总 Excel,除数据部分为空外,其他统计项、格式与被汇总的 Excel 完全相同

2. 编写集算器脚本

脚本列出来看方便些:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | D:/ 汇总 Excel/ | =directory(A1) | =file("汇总表.xls").xlsopen() | |
| 2 | 资产负债表 | =to(4,53) | [C,D,G,H] | =C2.(B2.(C2.~/~)).conj() |
| 3 | 利润表 | =to(4,32) | [C,D,E] | =C3.(B3.(C3.~/~)).conj() |
| 4 | 销售费用表 | =to(4,24) | [C,D,E] | =C4.(B4.(C4.~/~)).conj() |
| 5 | 管理费用表 | =to(4,35) | [C,D,E] | =C5.(B5.(C5.~/~)).conj() |
| 6 | 应上缴应弥补款项表 | =to(4,32) | [C,F] | =C6.(B6.(C6.~/~)).conj() |
| 7 | 现金流量表 | =to(4,43) | [C,D] | =C7.(B7.(C7.~/~)).conj() |
| 8 | for B1 | =file(A1/A8).xlsopen() | ||
| 9 | for [A2:A7] | for [D2:D7].m(#B9) | =B8.xlscell(C9,B9) | |
| 10 | =C1.xlscell(C9,B9) | |||
| 11 | =C1.xlscell(C9,B9;string(number(D9)+number(D10))) | |||
| 12 | =file("汇总表.xls").xlswrite(C1) |
B1 列出目录下各个要汇总的 Excel
A2-D7 指定 6 个表要汇总的范围
A8-D11 循环每个分公司 Excel,通过 xlscell 函数取得要汇总的数值(D9),同时取出汇总表对应项目的值(D10),然后累加后将其写回汇总表(D11)
A12 最后将汇总后数据输出到汇总表.xls 中
通过这种方式可以应付不固定 Excel,无论是不同分公司,还是不同月份都能搞定。同时每个汇总表的统计范围均可维护(2-7 行),可以根据实际需要修改。
本文介绍了如何利用集算器脚本自动化汇总多个格式相同且复杂的Excel文件。通过预先准备一个汇总模板,然后指定需要求和的单元格范围,脚本将遍历每个分公司的Excel文件,逐个进行数据累加,并将结果写入汇总Excel中。这种方法适用于不同分公司和月份的Excel汇总,且汇总范围可灵活调整。
685

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



