反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

循环引用

  • 文档创建者:文档助手1
  • 历史版本:21
  • 最近更新:Leo.Tsai 于 2021-06-28
  • 1. 概述

    1.1 应用场景

    循环引用是指当一个单元格内的公式直接或间接地引用了这个公式本身所在的单元格。

    例如,可以使用循环引用计算上日库存,每天的上日库存是:昨天的上日库存+( 入库-出库 ),如下图所示:

    1617159815585339.png


    1.2 实现思路

    使用IF( )公式+层次坐标条件表达式实现循环引用。

    2. 示例

    2.1 数据准备

    新建普通报表,添加数据集 ds1 ,SQL 语句为

    select 日期, 入库, 出库 from 库存  where strftime('%m',日期)= '06' order by 日期

    2.2 报表设计

    如下图设计表格,将 ds1 中的字段拖到 A2、B2、C2 单元格,D2单元格用于循环引用,统计每日的上日库存。

    2021-06-24_20-13-59.png

    D2单元格输入公式:IF(&A2=1,0,B2[A2:-1] - C2[A2:-1] + D2[A2:-1]),公式拆解后的说明如下表所示:

    公式
    说明
    IF(A, B, C )条件表达式,如果A为真,返回B,否则,返回C
    &A2 = 1条件表达式的一部分,判断 A2 扩展后对应位置的值是否等于1
    B2[A2:-1] - C2[A2:-1] + D2[A2:-1])条件表达式的一部分,上日入库【B2 所在的 A2(日期)单元格往上偏移一个位置(上一日)所对应的 B2 单元格的值】- 上日出库【当前 C2 所在的 A2(日期)单元格往上偏移一个位置(上一日)所对应的 C2 单元格的值】+ 上日库存【当前 D2 所在的 A2(日期)单元格往上偏移一个位置(上一日)所对应的 D2 单元格的值
    IF(&A2=1,0,B2[A2:-1] - C2[A2:-1] + D2[A2:-1])若为第一天,上日库存为 0,否则,下一天的上日库存就等于上一天的上日入库-上一天的上日出库+上一天的上日库存

    2.3 效果预览

    保存报表,分页预览后的效果如下图所示:

    1617159815585339.png

    支持 App 端和 HTML5 端预览,效果如下图所示:

    1624866848224128.jpg

    3.模板下载

    点击下载模板:循环引用.cpt

    附件列表


    主题: 报表专题
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526