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