1. WPS JS宏多字段数据汇总实战解析
在日常办公数据处理中,我们经常需要对表格数据进行多维度的汇总统计。最近我在处理一个销售数据分析项目时,就遇到了需要同时按仓库、年份和品名三个维度进行汇总的需求。经过反复实践,我总结出一套高效的WPS JS宏解决方案,今天就来详细分享这个实战案例。
这个方案的核心价值在于:
- 实现多条件组合分组统计(仓库+年份+品名)
- 同时计算各分组的数值总和与计数
- 自动适应数据量变化,动态确定数据范围
- 结果表格自动排版,无需手动调整
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 数据结构与需求分析
2.1 原始数据结构
原始数据存储在"销售表"工作表中,包含以下字段:
- A列:仓库(文本类型)
- B列:年份(数字类型)
- C列:品名(文本类型)
- D列:数值数据(待汇总)
- E列:批次信息(用于计数)
示例数据可能如下:
| 仓库 | 年份 | 品名 | 金额 | 批次 |
|---|---|---|---|---|
| 北京仓 | 2023 | 商品A | 1000 | B001 |
| 上海仓 | 2023 | 商品B | 1500 | B002 |
| 北京仓 | 2023 | 商品A | 2000 | B003 |
2.2 统计需求说明
我们需要实现以下统计功能:
- 按仓库、年份和品名三个字段的组合进行分组
- 对每组数据:
- 计算D列数值的总和
- 统计E列批次的个数
- 将结果输出到"汇总表"工作表
预期结果格式:
| 仓库 | 年份 | 品名 | 求和 | 批次 |
|---|---|---|---|---|
| 北京仓 | 2023 | 商品A | 3000 | 2 |
| 上海仓 | 2023 | 商品B | 1500 | 1 |
3. 核心代码实现解析
3.1 数据读取与初始化
javascript复制var arr = Sheets("销售表").Range("a2", Sheets("销售表").Range("e9999").End(xlUp)).Value();
var obj = {}, wsf = WorksheetFunction, newarr = [["仓库","年份","
