本帖最后由 jolin 于 2017-1-4 10:18 编辑

在实际应用过程中,我们会需要对当前行和当前行以上的今日数量进行一个累计,如下图:



如何实现呢?因为删除行时公式会报错(excel里面也一样),所以我们选择一个别的方案,增加一个临时变量的辅助数量项来完成计算。
这里实现的重点是全部重新计算,如何实现全部重新计算呢?我们在赋值的时候匹配条件中使用了本表单.明细.今日数量<>""。如果不使用条件,只计算当前行,如果使用了条件,则执行满足条件的所有行。具体见下面图解:




















+12

最近谁赞过

4人收藏
9 条回帖
乐乐1云师2017-1-4 14:17:38
不错的算法,构思巧妙
+10
cyl云苗2017-1-5 13:13:05

如何求上一行减本行数据的差呢?如图: 其中E列的减径量Excel公式为:B3-B4、B4-B5、B5-B6,减壁量同样,
这个用填表公式如何设计?
+10
乐乐1云师2017-1-7 12:49:11
楼上的问题和楼主的问题看似不一样,但核心问题是一样的,就是如何取得上一行的数据,如果你仔细看懂了楼主的解决方案,会发现,解决这类问题的一个核心思想时,当计算某一行时,通过值变化事件将本行的数据写到主表的一个临时变量数据项中,当计算下一行时,从临时变量中读取上一行的数据参与计算,然后再把本行数据通过值变化事件写入到临时变量中,供计算下一行时使用,以此类推。

这里的关键是要理解更新操作是如何遍历目标明细表的每一行的。
+10
RJXERP云侠2017-4-16 01:12:34
正好需要这个方法,谢谢了!
+10
RJXERP云侠2017-4-20 15:05:17
利用这个方法,终于实现了诸如现金银行、库存进销存逐行余额的功能。
+10
RJXERP云侠2017-6-10 16:40:15
jolin 发表于 2017-1-4 10:16
在实际应用过程中,我们会需要对当前行和当前行以上的今日数量进行一个累计,如下图:

这个还是有点问题,如累计余额为0的话,他的临时变量就不会变化,它的下一行累就会越过为0的行往前累加非0的余额,结果出错。


+10
需要登录后才可进行回复 登录

玩转云表从入门到精通
扫码添加微信立即领取

·云表创始人授课文件
·加入社群与培训学习
·切磋云表开发玩法

商务咨询:0756-3335860
客服咨询