填报表之自动计算
自动计算,是指填报的时候根据用户录入的某些单元格的值,自动计算出另外一些单元格的值,从而简化用户的输入,同时避免错误数据的录入。下面我们看下润乾报表里支持的几种自动计算方式。
·单元格间公式计算
单元格之间的计算,我们最常用到的就是加减乘除的计算,它类似 Excel 的公式语法。下面看个简单的示例。
1、以自带的员工表为例,使用向导自动生成一行式填报表。
2、添加计算,应发工资 = 工资1.2。I4 单元格的表达式应为 =H41.2。
3、查看效果
因是扩展数据,所以扩展出的每个单元格都会执行该计算,无需另外配置。
·汇总计算
为了方便使用自动计算,润乾报表中还提供了 sum(汇总)、average(平均值)、count(计数)和 sumproduct(单元格数组乘积之和)等聚合函数。
继续以上面的行式填报表为例,对应发工资做汇总。使用 sum() 函数。
I6 单元格的表达式为 =sum(I4)
结果为:
注:以上是扩展的数据,直接 sum(Cell) 就行,如果是非扩展的数据,写法为 sum(Cell1:Cell2)。
·条件计算
润乾报表还支持条件判断的计算方式,这种自动计算表达式的规则遵从 javascript 的语法规则。
例如:我们要计算,当工资大于 8000 时,应发工资 = 工资,当工资小于 8000 时,应发工资 = 工资1.2。
报表中 I4 表达式应调整为:=H4>=8000 ? H4 : (H41.2) ,此为三目运算的写法。同 if 判断的写法一致。
结果如下:
·跨表计算
润乾报表还支持跨表取数,可实现多报表间的数据关联运算。
我们继续以上表为例,增加一个 sheet2, 形成填报表组,获取 sheet1 中的应发工资汇总数到 sheet2 。
1、在报表左下角,右击,点击追加表格。
2、在 sheet2 单元格输入 =sheet1!I6,并且将 C3 单元格的单元格类型设置为数值格
3、查看效果
注:报表组跨报表引用表达式为: 页名称! 单元格名称
最后: 如果还有更复杂的计算,润乾报表还支持自定义函数,在展示填报表使用的 showInput.jsp 自定义 js 函数,然后在单元格表达式引用该函数实现自动计算。