如何把单表中的格子抄到汇总表的合适位置
例题描述
某文件目录里有N组砂筒实验数据,每组数据存在一个Excel文件里,文件格式都相同,如下图所示:
筒号都是A开头,其后接自然数编号,换砂次数是自然数编号。现在需要把每个文件中的B4-B13以及D4-D13单元格数据汇总到实验总报告表report.xlsx中的对应位置,如下图所示:
实现步骤
1、 观察并发现规律
我们发现数据汇总时有这样的规律:
(1)、每个文件中的B列写入总文件的列号=砂筒编号*2+1,D列接着写入下一列
(2)、写入的起始行号=换砂次数*11+5
(3)、平均值的行号=起始行号+10。
2、 运行集算器
可去润乾官网下载职场版,同时下载一个免费授权就够了,首次运行时会提示加载。
编写脚本:
把代码列出来看得清楚点:
A1打开总报告表
A2列出原始数据目录中的所有数据文件名称
A3循环所有数据文件
B3打开循环中的当前文件
B4读取砂筒编号,去掉首字母A并转成整数
C4读取换砂次数并转成整数
B5按发现的规律算出原文件中B4单元格应写入总报告的行号row
C5按发现的规律算出原文件中B4单元格应写入总报告的列号col
B6读出原文件中的B4-B13单元格的值,是用\n分隔的字符串
C6读出原文件中的D4-D13单元格的值,是用\n分隔的字符串
B7求出原文件中的B4-B13单元格的平均值
C7求出原文件中的D4-D13单元格的平均值
B8将读出的B4-B13单元格的值依次写入row行col列开始的单元格
C8将读出的D4-D13单元格的值依次写入row行col+1列开始的单元格
B9将B7算出的平均值写入row+10行col列
C9将C7算出的平均值写入row+10行col+1列
A10将汇总后的总报告保存到report.xlsx文件
3、 按F9运行这段程序,可以看到d:/excel/report.xlsx文件已经生成了
【附件】report.zip