1. 概述
1.1 应用场景
当数据同时由纵向扩展和横向扩展而来,即 交叉表 ,希望用层次坐标实现整行或整列偏移,实现获取某一单元格的值,实现获取某行或某列的值。
1)整行或整列偏移,通过相对层次坐标实现:
2)获取某一单元格的值,通过绝对层次坐标实现:
3)获取某行或某列的值,通过绝对层次坐标实现:
1.2 实现思路
双向扩展场景下,不管是相对层次坐标还是绝对层次坐标,都要使用纵向和横向的组合写法,且要遵循 先纵向后横向 的原则。
层次坐标类型 | 公式写法 | 公式说明 | 参数说明 |
---|---|---|---|
相对层次坐标 | Cellx[Celly:-k ;Cellz:p] | 第 p 列相对偏移 -k | Cellx:横纵向同时扩展出来的交叉单元格 Celly:纵向扩展单元格,Cellx 的左父格 Cellz:横向扩展单元格,Cellx 的上父格 k:数字 p:数字 |
Cellx[Celly:+k ;Cellz:p] | 第 p 列相对偏移 +k | ||
Cellx[Celly:p ;Cellz:-k] | 第 p 行相对偏移 -k | ||
Cellx[Celly:p ;Cellz:+k] | 第 p 行相对偏移 +k | ||
绝对层次坐标 | Cellx[Celly:k ;Cellz:p] | 获取第 k 行第 p 列交叉处的值 | |
Cellx[Celly:k ;Cellz:!-p] | 获取第 k 行倒数第 p 列交叉处的值 | ||
Cellx[Celly ;Cellz:k] | 获取第 k 列所有值 | ||
Cellx[Celly:k ;Cellz] | 获取第 k 行所有值 |
2. 准备模板
2.1 新建模板
新建普通报表,如下图所示:
2.2 准备数据
新建数据库查询 ds1,输入 SQL 查询语句:SELECT * FROM 销量,如下图所示:
2.2 设计表格
1)A1 单元格插入斜线:产品|销售员,A2、B1、B2 单元格拖入相应的数据列,如下图所示:
2)设置 B1 单元格为横向扩展,如下图所示:
3)设置 B2 单元格不扩展,如下图所示:
2.3 效果预览
预览模板,效果如下图所示:
3. 整行或整列偏移
3.1 插入层次坐标
1)A3、A4、C1、D1 单元格输入文本,B3、B4、C2、D2 单元格插入层次坐标,如下图所示:
2)公式说明如下表所示:
单元格 | 公式 | 参数说明 | 公式说明 |
---|---|---|---|
C2 | B2[A2:-1 ;B1:1] | A2:-1:纵向相对层次坐标,实现纵向负偏移 ;B1:1:横向绝对层次坐标,锁定第一列 | 第一列相对偏移 -1 |
D2 | B2[A2:+1 ;B1:2] | A2:+1:纵向相对层次坐标,实现纵向正偏移 ;B1:2:横向绝对层次坐标,锁定第二列 | 第二列相对偏移 +1 |
B3 | B2[A2:1 ;B1:-1] | A2:1:纵向绝对层次坐标,锁定第一行 ;B1:-1:横向相对层次坐标,实现横向负偏移 | 第一行相对偏移 -1 |
B4 | B2[A2:2 ;B1:+1] | A2:2:纵向绝对层次坐标,锁定第二行 ;B1:+1:横向相对层次坐标,实现横向正偏移 | 第二行相对偏移 +1 |
3.2 效果预览
预览模板,效果如下图所示:
4. 获取某一单元格的值
4.1 插入层次坐标
1)A4~A6 单元格输入文本,B4~B6 单元格插入层次坐标,如下图所示:
2)B4~B6 单元格的上父格设置为无,如下图所示:
3)公式说明如下表所示:
单元格 | 公式 | 参数说明 | 公式说明 |
---|---|---|---|
B4 | B2[A2:4 ;B1:2] | A2:4:纵向绝对层次坐标,锁定第四行 ;B1:2:横向绝对层次坐标,锁定第二列 | 返回第四行和第二列交叉处的单元格数据 |
B5 | B2[A2:6 ;B1:4] | A2:6:纵向绝对层次坐标,锁定第六行 ;B1:4:横向绝对层次坐标,锁定第四列 | 返回第六行和第四列交叉处的单元格数据 |
B6 | B2[A2:!-1 ;B1:!-1] | A2:!-1:纵向绝对层次坐标,锁定倒数第一行 ;B1:!-1:横向绝对层次坐标,锁定倒数第一列 | 返回倒数第一行和倒数第一列交叉处的单元格数据 |
4.2 效果预览
预览模板,效果如下图所示:
5. 获取某行或某列的值
5.1 插入层次坐标
1)A3、C1 单元格输入文本,B3、C2 单元格插入层次坐标,如下图所示:
2)公式说明如下表所示:
单元格 | 公式 | 参数说明 | 公式说明 |
---|---|---|---|
C2 | B2[A2 ;B1:1] | A2:返回 A2 单元格纵向扩展的所有单元格的数据 ;B1:1:横向绝对层次坐标,锁定第一列 | 返回第一列所有单元格的数据 |
B3 | B2[A2:1 ;B1] | A2:1:纵向绝对层次坐标,锁定第一行 ;B1:返回 B1 单元格横向扩展的所有单元格的数据 | 返回第一行所有单元格的数据 |
5.2 效果预览
预览模板,效果如下图所示: