finereport 学习循环引用 获取列表的上一行数据。

  • Post author:
  • Post category:其他


循环引用  获取列表的上一行数据。



2.2 循环引用设置

  • 方法一:
上日库存
假设6月份前留下的余额为0,则在B3单元格中,输入公式:

=if(&A3 = 1, 0, B3[A3:-1] + C3[A3:-1] – D3[A3:-1])

:当&A3=0,第一天的上日库存为0,否则从第二天开始,上日库存就等于前天库存+上日入库-上日出库。
本日库存
在E3单元格中,输入公式

=B3 + C3 – D3

:本日库存就为上日库存+本日入库-本日出库。



注:由于E3单元格中使用了B3的值,所以上日库存不能直接用

E3[A3:-1]

,否则会因为B3-E3-B3导致死循环。


  • 方法二:
直接在B3单元格中输入循环引用公式

=CIRCULAR(A3, B3, C3, D3)

,等同于公式

=if(&A3 = 1, 0, B3[A3:-1] + C3[A3:-1] – D3[A3:-1])

,如果为横向扩展。则传递第五个参数false,例如:

=CIRCULAR(A3, B3, C3, D3,false)


方法一中,“



当&A3=0,第一天的上日库存为0



” 这一句应该写错了,正确的是:

当&A3=1,第一天的上日库存为0.





&A3 数据记录的行数, 获取上一行指定单元格使用


B3[A3:-1]



公式。类是于数组。




















方法二待研究。






版权声明:本文为xiaozaq原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。