快捷搜索:  汽车  科技

wpsjs宏怎么让单元格填充(WPSJS宏按字段汇总数据)

wpsjs宏怎么让单元格填充(WPSJS宏按字段汇总数据)代码如下:思路:先获取表格所有数据,然后循环表格中的每行数据,如果商品名称已经出现过,则金额累加;如果商品名称没出现过,则添加该商品名称到字典。最后我们把字典里的数据打印输出到结果区即可。我们暂定的效果图如下:简化设计图下面我们开始编码:

最近有个果蔬批发店的老板,找我做一个表格自动汇总小功能,用于统计每日各种商品出库总金额。我下面把代码以及解决该问题的思路简单描述一下。

客户给我的原始数据如下:

wpsjs宏怎么让单元格填充(WPSJS宏按字段汇总数据)(1)

原始数据(几万行数据)

想要实现的效果,能自动汇总每种商品出库的总金额。经过沟通,我计划在表格中加一个按钮,命名为【一键汇总】,然后把汇总的结果回写到右侧空白区。

我们暂定的效果图如下:

wpsjs宏怎么让单元格填充(WPSJS宏按字段汇总数据)(2)

简化设计图

下面我们开始编码:

思路:先获取表格所有数据,然后循环表格中的每行数据,如果商品名称已经出现过,则金额累加;如果商品名称没出现过,则添加该商品名称到字典。最后我们把字典里的数据打印输出到结果区即可。

代码如下:

function ComputerTotalMoney() { var arr=Range("A2:E12386").Value(); var newarr=[]; var obj={}; for(var i=0;i<arr.length;i ) { var name=arr[i][0]; var money=arr[i][4]; if(name in obj) { obj[name] =money } else { obj[name]=money } } newarr.push(["商品名称" "总金额"]) for(var [name money] of Object.entries(obj)) { newarr.push([name money]) } Range("H1").Resize(newarr.length 2).Value2=newarr; }

然后,我们在页面添加一个按钮并指定宏为刚才编写的函数,功能已完全实现。

wpsjs宏怎么让单元格填充(WPSJS宏按字段汇总数据)(3)

最终效果

朋友们,如果您有什么不明白的地方或者需要帮助,可以评论或私信我,后期我们将从基础开始讲起,让大家都能掌握JS宏编程。

猜您喜欢: