1. 概述
1.1 应用场景
循环引用,即当一个单元格内的公式直接或间接地引用了此公式本身所在的单元格。
例如,使用循环引用计算今天的上日库存,公式为:( 昨天的入库-昨天的出库 )+昨天的上日库存,如下图所示:
1.2 实现思路
判断是否为第一天:
若为第一天,则上日库存为 0
若不是第一天,则上日库存公式为:( 昨天的入库-昨天的出库 )+昨天的上日库存
2. 示例
2.1 新建报表
新建一张普通报表,如下图所示:
2.2 准备数据
新建数据库查询 ds1 ,输入 SQL 语句:select 日期, 入库, 出库 from 库存 where strftime('%m',日期)= '06' order by 日期 ,表示从库存表中提取所有 6 月份的记录,显示每条记录的日期、入库和出库信息,并按日期顺序排列结果,步骤如下图所示:

2.3 设计报表
1)A1~C1 单元格输入文本,A2~C2 单元格拖入对应的数据列,如下图所示:
2)B2、C2 单元格的数据设置为「汇总>求和」,如下图所示:
2.4 插入层次坐标公式
1)D1 单元格输入文本,D2 单元格插入公式:IF(&A2=1,0,B2[A2:-1] - C2[A2:-1] + D2[A2:-1]),如下图所示:
2)公式说明如下表所示:
公式 | 说明 |
---|---|
&A2 | A2 单元格扩展出来的所有单元格的位置 |
B2[A2:-1] | 昨天的入库 |
C2[A2:-1] | 昨天的出库 |
D2[A2:-1] | 昨天的上日库存 |
IF(&A2=1,0,B2[A2:-1] - C2[A2:-1] + D2[A2:-1]) | 如果是第一天,返回 0 ;否则,执行 B2[A2:-1] - C2[A2:-1] + D2[A2:-1] |
2.5 效果预览
1)PC 端
保存报表,点击「分页预览」,效果如下图所示:
2)移动端
支持 App 和 HTML5 端预览,效果如下图所示:
3.模板下载
点击下载已完成模板:循环引用.cpt