三目运算符解决Infinity问题
在报表设计中,有时候需要对报表中的数据进行一些加减乘除的运算,然后将得到的值显示在某个单元格中。设计报表如下:
对于一些特殊情况,可能就需要判断并进行计算了,如A2和B2是两个单元格,当A2/B2的时候,由于B2是分母,那么B2是不能为零的。因为在单元格中用一个非零的自然数除以零的时候,该单元格的内容就会显示成:Infinity。如下图所示。
那么这个时候就需控制单元格的显示值了,即当分母为零的时候,让单元格的内容显示成零或者直接显示成空。
这个时候就需要用到三目运算了。下面举例说明一下:
设计报表如下,将C2单元格表达式设置为:=if(B2==null || B2==0,”0″,A2/B2)
PS:在填报表中设置单元格为自动计算的话,自动计算表达式为:${B2}==null || ${B2}==0? 0 :${A2}/${B2}
发布预览效果如下图所示:
三目运算符使用规则:
<表达式1>?<表达式2>:<表达式3>; “?”运算符的含义是: 先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假, 则执行表达式3 ,并返回表达式3的结果。