自动计算

自动计算可以实现在单元格数据发生改变时,自动计算出另外一些单元格数据结果。能帮助用户更高效的完成数据录入,减少手动录入量。例如当用户输入购买商品的单价和数量时,自动计算出商品的总价。 切换到“校验和自动计算”tab页,可进行自动计算设置,提供了公式计算、js计算两种自动计算方式。 自动计算 - 图1

公式计算

公式计算除了可以设置简单的单元格值加减乘除外,还可以引用系统中提供的函数来完成复杂的自动计算。产品中内置实现了大量的函数,用户可以在设置自动计算表达式时直接进行调用,表达式的定义可以通过表达式编辑器来完成。具体包含的函数和函数的说明参见:表达式与函数,注意文档中的函数和表达式并非所有都可用于自动计算和校验,具体以表达式编辑器中的可选函数为准。

  • 示例1:简单的逻辑运算。 根据用户购买的商品数量,自动计算出折扣。F9单元格为商品商量,购买数量小于100时,无折扣;大于等于100小于500时,九折;大于500小于1000时,八折;大于1000时,六折。表达式如下: if(F9<100,1,if(F9>=100&&F9<500,0.9,if(F9>=500&&<1000,0.8,0.6)))

  • 示例2:调用内置函数来完成自动计算: 根据数值型的订单金额数据,自动生成对应的人民币金额格式。 rmb(123456.89) 返回:"壹拾贰万叁仟肆佰伍拾陆圆捌角玖分" rmb(A2) 返回:返回A2单元格数值转换成人民币金额后的结果。

自动计算 - 图2

js计算

通过设置自动计算的JavaScript表达式或者自定义JavaScript函数来实现自动计算。 例如,如果动计算的复杂性超出了简单表达式所能达到自动计算的要求,我们可以直接把自动计算的业务封装在javascript的自定义函数中,由自定义函数返回运算值。使用时直接在单元格填报属性的自动计算里引用自定义的函数名。

实用代码举例: 写一个自定义函数,这个函数的功能就是根据出生日期完成年龄的自动计算。 第一步,定义一个求年龄的javascript函数,代码如下:

<script language="javascript">
      function age2(cellOne){
                return new Date().getFullYear()-cellOne;
        }
</script>

自动计算 - 图3 第二步,在单元格填报属性自动计算里引用定义的javascript函数,age2(${E7}.toString())。 第三步,在web上展现后,当输入出生日期,焦点离开后,即可自动计算出该员工年龄。