单元格坐标条件
教学视频
概述
无论是使用相对坐标还是绝对坐标,都可以使用条件对取到的单元格进行过滤,以期拿到符合要求的数据,如下图:
在上面的例子当中,D1单元格的表达式为:B1[A1:-1]{$C1>30000},可以看到这是一个相对定位单元格的表达式,在这个表达式当中,要获取的目标单元格是B1,条件是根据当前表达式所在单元格D1的位置先取到A1单元格的上一格,然后再取这个上一格下面所有的B1单元格,最后再对取到的B1单元格进行条件过滤,过滤条件是$C1>30000,这里的$C1指的是目标单元格B1下面的C1单元格,$C1>30000的含义就是目标单元格B1下的C1单元格的值大于30000的集合,只有满足这个条件的B1单元格才是表达式需要获取的单元格。
上面的报表运行后的结果如下图所示:
在D12这个分组当中,因为D12之上不存在其它分组,所以D12这个分组下的D1单元格结果全部为空。
定义
通过上面的例子,我们已经了解了如果在坐标表达式后加条件对获取到的目标单元格进行过滤。所以单元格坐标条件就是在单元格坐标表达式后添加{}符号,在这个符号中添加具体的条件即可。
{条件}
多个条件之间可以使用&&或||连接,&&表示并且;||表示或者:
{条件1 && 条件2 || 条件3}
将上面例子中D1单元格表达式修改为:B1[A1:-1]{$C1>30000 || $C1<5000},保存预览结果就变成下面的样子:
常用坐标条件举例
1.与当前单元格对应的单元格值比较
如下图的例子:
在上面的例子当中,D1单元格的坐标表达式为:B1[A1:-1]{$C1>C1},与之前不同的是$C1比较的对象是C1单元格,这里的$C1之前已经介绍过,它表示从坐标表达式要获取的目标单元格查找对应的单元格;而C1则是根据当前D1单元格获取的C1单元格,所以上面的表达式的含义就是在通过坐标取到目标单元格B1后,将每个B1中对应的C1单元格的值与当前D1单元格对应的C1单元格值进行比较,如果大于当前D1单元格对应的C1单元格值那么这个B1单元格就是符合条件的,就会被返回。
上面的例子运行后结果如下图所示:
2.多重条件过滤
修改上面的例子,D1单元格的表达式改成下面的样子:
表达式B1[A1:-1]{$C1>C1 && $C1>20000}含义是:在通过坐标取到目标单元格B1后,将每个B1中对应的C1单元格的值与当前D1单元格对应的C1单元格值进行比较,同时还要求个B1中对应的C1单元格的值大于20000。
保存预览,效果如下: