如何利用有规则的字串将一行扩展成多行
2021-01-13 本文已影响0人
西柚学报表
某生产日报表如下:
![](https://img.haomeiwen.com/i14510797/85d37fc9308b98f4.png)
现根据日报统计,目标结果如下:
![](https://img.haomeiwen.com/i14510797/f07babf8258cdc09.png)
难点分析:
本例中要将“不良分类(AC 列)”的数据拆分到多行多列中,如日报第一条数据:
![](https://img.haomeiwen.com/i14510797/bc7198900988ef49.png)
拆分后要形成 3 条记录,其中前两条:
![](https://img.haomeiwen.com/i14510797/e3a881b6b2b3137d.png)
代码表为:
![](https://img.haomeiwen.com/i14510797/8b090c7004cda804.png)
第三条记录形成规则为日报中 W 列(如下图)不为空时新增一条记录
![](https://img.haomeiwen.com/i14510797/9f576bce9696f259.png)
其他还有若干要求,具体查看前面截图中的“统计要求”。
使用集算器实现步骤:
1. 安装运行集算器
可去润乾官网下载职场版,同时下载一个免费授权就够了,首次运行时会提示加载。
2. 编写脚本
![](https://img.haomeiwen.com/i14510797/69c74595c5194c21.png)
A1 和 A2 分别读入日报和不良代码数据,A3 创建空结果表,下面计算的结果会插入 A3 中
A2 开始循环日报数据,当不良分类不为空时(B2),将其拆分成单个字符(C2)
![](https://img.haomeiwen.com/i14510797/e816ccbece4e7c24.png)
再将其组合成汉字和数字的组合(D2),如下
![](https://img.haomeiwen.com/i14510797/a2815041ac049746.png)
C3 先将上面的结果拼成两两一组的形式,并循环准备生成新纪录
D3 表达式根据代码表查找对应不良分类代码
D4 向结果表中插入数据
B5 和 C5 处理另外一个条件(W 列不为空时),生成新记录
A6 将结果表写出到 Excel 中
3. 按 F9 运行脚本,可以看到目标结果表生成了。
![](https://img.haomeiwen.com/i14510797/afd77bb136c0e525.png)