历史版本6 :绝对层次坐标 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

本文视频学习请参见专题视频:

什么是绝对层次坐标

绝对层次坐标的写法

绝对层次坐标能用来做什么

系统的层次坐标学习计划参见:层次坐标专题

1.1 概念说明

在进行报表设计时,单元格尚未扩展,但是其它单元格的计算表达式可能需要此单元格扩展后某个数据的精确位置,这时就需要使用绝对层次坐标精确表达该数据的位置。

层次坐标概念图如下图所示:

2.png

注:反向获取第 z 个数即取倒数第 z 个数。

说明:



Cellx表示需要返回结果的单元格
Celly表示获取位置时参考的单元格
z

表示选择获取的位置

取倒数第几个数则用!-,例如获取最后一个数,则使用!-1表示

Cellx[Celly:z]

返回 Celly 扩展出来的第 z 个值对应的 Cellx 值

1.2 公式说明

绝对层次坐标就是通过绝对位置来精确定位扩展后的单元格,由于 单元格扩展 包括横向扩展和纵向扩展,绝对层次坐标公式包括「左父格」和「上父格」:

公式说明:

参数说明
Cellx指目标单元格,是 Lk,Lk-1...L1;Tk,Tk-1...T1 的附属格。
Lk指某个目标单元格 Cellx 的左父格,Lk 的次序是从远到近的,也就是从离当前格最远的左父格开始,也可以理解为从最高级别的分组格开始。
lk指左父格 LK 扩展后的次序,即扩展后的第几个单元格,如果不指定 lk 或 lk 为 0,则表示为当前表达式所在单元格所属的当前左父格 LK。
tk指上父格 Tk 扩展后的次序,即扩展后的第几个单元格,如果不指定 tk 或 tk 为 0,则表示为当前表达式所在单元格所属的当前上父格 TK。

注1:如果只有左父格没有上父格,分号可以省略,即 Cellx[Lk:lk,LK-1:lk-1,......,L1:l1]。

注2:如果只有上父格没有左父格,分号不能省略,即 Cellx[;Tk:tk,Tk-1:tk-1......,T1:t1]。

2. 纵向扩展示例编辑

2.1 创建报表

使用产品内置数据 S产品 数据创建如下图所示的报表:

1606977492764175.png

2.2 插入绝对层次坐标公式

此时在 B5、B6、B7 单元格插入公式 A2[A2:2]、B2[A2:!-2]、B2[A2:2,B2:1],如下图所示:

1606977626135468.png

得到效果如下图所示:

1606978572422921.png

公式说明:

公式说明
A2[A2:2]

返回 A2 列第二个数值对应的 A2 单元格数值

示例中为 2

B2[A2:!-2]

返回A2列的倒数第二个数值对应的 B2 单元格数值

示例中为酱油、海鲜粉、胡椒粉


B2[A2:2,B2:1]

返回同时满足 A2的第二个位置、B2的第一个位置对应的 B2 单元格数值

示例中为盐

3. 横向扩展示例编辑

3.1 创建报表

1)使用内置数据 STSCORE 数据创建如下图所示的报表:

1606979070498880.png

3.2 插入绝对层次坐标公式

此时在 A3 单元格插入公式 B2[;B1:3]、B2[;B1:!-2],如下图所示:

1606979334558173.png

得到结果如下图所示:

1606979302883960.png

1606979373412511.png

公式说明:

公式说明
B2[;B1:3]

返回 B1 行的第三个数值对应的 B2 单元格数值

示例中为 3984

B2[;B1:!-2]

返回 B1 行的倒数第二个数值对应的 B2 单元格数值

示例中为 4011