1. 概述编辑
在进行报表设计时,单元格尚未扩展,但是其它单元格的计算表达式可能需要此单元格扩展后某个数据的精确位置,这时就需要使用绝对层次坐标精确表达该数据的位置。
1.1 概念说明
层次坐标概念图如下图所示:
注:反向获取第 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产品 数据创建如下图所示的报表:
2.2 插入绝对层次坐标公式
此时在 B5、B6、B7 单元格插入公式 A2[A2:2]、B2[A2:!-2]、B2[A2:2,B2:1],如下图所示:
得到效果如下图所示:
公式说明:
公式 | 说明 |
---|---|
A2[A2:2] | 返回 A2 列第二个数值对应的 A2 单元格数值 示例中为 2 |
B2[A2:!-2] | 返回A2列的倒数第二个数值对应的 B2 单元格数值 示例中为酱油、海鲜粉、胡椒粉 |
B2[A2:2,B2:1] | 返回同时满足 A2的第二个位置、B2的第一个位置对应的 B2 单元格数值 示例中为盐 |
3. 横向扩展示例编辑
3.1 创建报表
1)使用内置数据 STSCORE 数据创建如下图所示的报表:
3.2 插入绝对层次坐标公式
此时在 A3 单元格插入公式 B2[;B1:3]、B2[;B1:!-2],如下图所示:
得到结果如下图所示:
公式说明:
公式 | 说明 |
---|---|
B2[;B1:3] | 返回 B1 行的第三个数值对应的 B2 单元格数值 示例中为 3984 |
B2[;B1:!-2] | 返回 B1 行的倒数第二个数值对应的 B2 单元格数值 示例中为 4001 |