4.23 汇总文件 - 按单元格位置对位汇总 - 文件个数不定
总公司有收到各分公司发来的资产负债表,其中某分公司的表格如下图所示 (共有 37 行,图中只列出 14 行):
现在需要用各分公司的表格汇总出总公司的资产负债表。
编写脚本:
A | B | C | |
---|---|---|---|
1 | =directory@p(“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(“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
帮你早下班 - esProc 桌面版与 Excel 数据处理
4.22 汇总文件 - 横纵两个方向同时合并 - 汇总重复项
4.24 汇总文件 - 追加汇总
=A3.(B3.(/A3.)).conj()
我觉得还是换成这个 =A3.(B3.(+string(A3.))).conj() 好理解一点。/ 或者把这个 / 单独讲解一下,太意外了。
/ 就是字符串连结,和 + 的区别在于,它会自动把非字符串变成字符串,而 + 会缺省向数值转换