层次坐标

一、坐标实例

在进行报表设计时,单元格尚未扩展,但是其它单元格的表达式可能需要此单元格扩展后的位置。这时,就要对扩展后的每个单元格进行唯一性定义,这就是单元格的层次坐标。

层次坐标是用于唯一描述(精确定位)扩展后的每一个单元格的表达式。

例如,下图的报表中,对于该主格,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]