如果我们要取一个格上面的那个格子的值,怎么取呢?
看一下这张报表:10.4.1.raq ( 下载 )

如何计算“比上年增长”呢?或者说,如何来填D3中的表达式呢?

显然,应该是:=(C3/上一行的值)-1。但上一行的值,并不是C2,这是能够扩展的报表与Excel的不同。C3是一个跟着主格B3扩展了的格子,对扩展后的一个格而言,它本身也好,它上面一行也好,都是C3。
那么如何表示上一行的值呢?润乾报表在层次坐标体系中,提供了 相对座标 ,用C3[-1]来表示我们所说的上一行的值。
将表达式放入D3格:=C3/C3[-1]-1
但是,还有一个 问题 ,展开后的第一行,因为它没有上一行,所以出现的结果是-1。因此,我们再补充修改一下这个表达式:
=if(not (&b3=1),c3/c3[-1]-1,"-")
显然这里&b3=1的作用是确定第一行,not (&b3=1)即不是第一行,可以看出if函数的用法是这样的:如果第一个表达式的结果为真的话,即某行不是第一行,就用第二个表达式计算;如果第一个表达式的结果为假的话,即某行是第一行,就显示符号“-”。在这里,也可以在D3输入表达式:
=if(&b3=1,"-",c3/c3[-1]-1)
关于&的用法,下一节将详细讲述。
下一节: &的用法