层次坐标
一、坐标实例
在进行报表设计时,单元格尚未扩展,但是其它单元格的表达式可能需要此单元格扩展后的位置。这时,就要对扩展后的每个单元格进行唯一性定义,这就是单元格的层次坐标。
层次坐标是用于唯一描述(精确定位)扩展后的每一个单元格的表达式。
例如,下图的报表中,对于该主格,C2[A1:3,B1:2]表示对应的附属格,即图中黄色单元格。
下面是几个用层次坐标定位单元格的例子。
例1:下图的报表中,C1[A1:1,B1:2]的返回值为5;C1[A1:2,B1:3]的返回值为12;C1[A1:3,B1:4]的返回值为21;
B1[A1:2,B1:2]的返回值为5,B1[A1:3,B1:4]的返回值为7。
例2:下图的报表中,C3[A3:1,B3:2;C1:2,C2:3]的返回值为216;C3[A3:3,B3:3;C1:1,C2:2]的返回值为255;
C3[A3:2,B3:1;C1:3,C2:2]的返回值为228;C3[A3:3,B3:1;C1:3,C2:3]的返回值为248。
例3:下图的报表中,C3[A3:1,B3:2;C1:2]的返回值为212;
C3[A3:3;C1:1,C2:2]的返回值为229;C3[A3:2;C1:3,C2:3]的返回值为231。
二、小结
在进行报表设计时,单元格尚未扩展,但是其它单元格的表达式可能需要此单元格扩展后的位置。这时,就要对扩展后的每个单元格进行唯一性定义,这就是单元格的层次坐标。层次坐标是用于唯一描述(精确定位)扩展后的每一个单元格的表达式。
语法:
说明:
在上述的层次坐标的表示法中,如果目标单元格Cellx本身是扩展单元格,那么要唯一描述(精确定位)其扩展后的单元格的位置,可以写为Cellx[Lk:lk,Lk-1:lk-1...L1:l1,Cellx:n],其中n为Cellx扩展后的次序。与之类似,如果Cellx只有上主格,可以写为Cellx[;Tk:tk,Tk-1:tk-1...T1:t1,Cellx:n]。
层次坐标,在文档中统一用[Coordinate]表示。
在层次坐标中,并不一定指定到最低一级主格扩展后的位置。在这种情况下,Cellx[Coordinate]会返回扩展后的若干单元格中的第一个,Cellx[Coordinate]{CriteriaExp}会返回扩展后的若干单元格中符合条件的单元格的集合。
层次坐标[Coordinate]的运算结果指向目标单元格的位置。如果层次坐标能够定位到一个单元格,那么Cellx[Coordinate]返回该单元格的值;如果定位到多个单元格,那么Cellx[Coordinate]返回这些单元格中第一个单元格的值。
课后练习:
1、什么是层次坐标?
2、层次坐标在文档中用什么表示?
3、在下图的报表中,下列层次坐标的返回值分别是多少?
(1)C3[A3:1,B3:3;C1:1,C2:2]
(2)C3[A3:2,B3:3;C1:2,C2:1]
(3)C3[A3:3,B3:2;C1:2,C2:3]
(4)C3[A3:1,B3:2;C1:2]
(5)C2[;C1:2,C2:2]
(6)B3[A3:3,B3:1]
4、在下图的报表中,带蓝圈的单元格的层次坐标分别是什么?
5、在下图的报表中,下列层次坐标的返回值分别是多少?
(1)B3[A1:4;B1:1,B2:4]
(2)B3[A1:9;B1:3,B2:1]
(3)B3[A1:2;B1:2,B2:3]
(4)B3[;B1:1,B2:2]
(5)B3[A1:6;B1:3]