例题描述和简单分析
有 Excel 文件 sum.xlsx,数据如下所示:

现在要在每组数据下面的空白单元格中求 (C~F 列) 汇总值,结果如下:

解法及简要说明
在集算器中编写脚本 p1.dfx,如下所示:
| A | B | C | |
| 1 | =file("sum.xlsx").xlsimport@w() | =[,"sum:"] | |
| 2 | =A1.group@i(~[-1](1)==null) | ||
| 3 | for A2 | =A3.select(~(1)) | >C1=C1|B3 |
| 4 | for 4 | =B3.(~(2+B4)).sum() | |
| 5 | >B1=B1|C4 | ||
| 6 | >C1=C1|[B1] | >B1=[,"sum:"] | |
| 7 | =file("sum_result.xlsx").xlsexport@w(C1) | ||
简要说明:
A1 读取 excel 文件内容,返回序列的序列
B1 建立“汇总行”序列
A2 每当第一列的上一个格子为空,则分组
A3 循环每个组
B3 过滤掉汇总行
C3 将数据追加至 C1
B4 循环 4 列
C4 计算每列的汇总值
C5 追加至 B1
B6 B1序列追加至 C1
C6 B1重置
A7 结果导出至 sum_result.xlsx
执行程序,sum_result.xlsx为汇总后的结果。
本文介绍如何在Excel中,针对每组数据的下方空白单元格计算C至F列的汇总值。通过集算器编写脚本实现,当第一列上一格为空时进行分组,对4列进行循环计算汇总,最终将结果导出至新的Excel文件。
690

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



