找回密码
 立即注册

QQ登录

只需一步,快速开始

大盆

金牌服务用户

5

主题

27

帖子

72

积分

金牌服务用户

积分
72

[已处理] SUM公式计算问题

大盆
金牌服务用户   /  发表于:2023-8-25 17:04  /   查看:1470  /  回复:9
本帖最后由 Richard.Huang 于 2023-10-19 12:20 编辑



产品:SpreadJS
版本:V16


如图设置一个sum(b6:b8) 公式  目的是b6区域至b8区域之间数值之和(区域间会有增删行的操作)  如果包含了公式设置的单元格 ,结果会一直被计算成0,
设置sum(b6:b8)公式的目的就是满足增删行的操作
image.png811535033.png

9 个回复

倒序浏览
大盆
金牌服务用户   /  发表于:2023-9-15 14:11:21
来自 9#
Joestar.Xu 发表于 2023-9-15 12:26
您好,你是已经通过自定义函数解决了这个问题吗?

如果是的话,欢迎您分享一下这个解决方案,这边也会为 ...

我是这样解决的:在这个公式计算之前 把它要计算区域信息(:行列信息,总列数,总行数)传递给计算函数,然后通过sheet.getValue相加这些格子实现,监听增行删行增列删列,动态改变要相加的总行数,总列数

评分

参与人数 1金币 +300 收起 理由
Joestar.Xu + 300 很给力!

查看全部评分

回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-25 17:43:46
沙发
这样的写法会造成公式的循环引用,在Excel中也会导致同样的问题。

image.png826580810.png

为什么不直接设置为=SUM(B6:B7)呢?
回复 使用道具 举报
大盆
金牌服务用户   /  发表于:2023-8-28 09:49:43
板凳
本帖最后由 大盆 于 2023-8-28 09:59 编辑
Joestar.Xu 发表于 2023-8-25 17:43
这样的写法会造成公式的循环引用,在Excel中也会导致同样的问题。

设置成sum(b6:b7)后  再b7后面新增一行  输入值后 这个公式没有重新计算了 考虑了这个问题
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-28 13:48:43
地板
您好,根据您的描述,请问您的需求是否是在第四行插入行后,SUM公式的参数会自动变成B2:B4呢?

image.png432520446.png

image.png837547912.png
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-9-14 15:11:22
5#
不知道楼主问题是否已经解决,如果仍未解决欢迎继续回帖沟通
回复 使用道具 举报
大盆
金牌服务用户   /  发表于:2023-9-15 09:50:10
6#
Richard.Ma 发表于 2023-9-14 15:11
不知道楼主问题是否已经解决,如果仍未解决欢迎继续回帖沟通

不好意思 忘记回复了
回复 使用道具 举报
大盆
金牌服务用户   /  发表于:2023-9-15 09:51:03
7#
Joestar.Xu 发表于 2023-8-28 13:48
您好,根据您的描述,请问您的需求是否是在第四行插入行后,SUM公式的参数会自动变成B2:B4呢?

是的 期望是能这样 目前是通过自定义函数实现这个区域性相加,如果可以这样的话,那就方便些
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-9-15 12:26:09
8#
您好,你是已经通过自定义函数解决了这个问题吗?

如果是的话,欢迎您分享一下这个解决方案,这边也会为您送上金币奖励。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-9-15 14:33:12
10#
感谢您提供的解决方案,金币奖励已送上
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部