在Excel里,这种情况下的公式怎么写呢?
本题有两个判断条件,按照题设,用IF函数就可以了,这样查看公式时逻辑比较直观:
=IF(A2>=80%, 4, IF(A2>=30%, 8*(A2-30%),0))
用IF函数写公式,特别是当条件比较多需要嵌套时,要注意按照条件的顺序写公式,这样条理比较清晰,写起来也容易。否则逻辑混乱结果也会乱,甚至写公式写到后面都不知道怎么写了。
从上图结果可以看到,B4单元格的结果不是0,是一个非常小的值,这个值是浮点计算误差,在excel 中无法完全避免。如果它只是一次输出的计算结果,不会对后续计算几乎没有什么影响,或者你并不介意这个微小的影响,可以设置单元格自定义格式 0.00, 它就不显示了,
浮点计算误差无法完全避免,只能通过套用函数等将它屏蔽掉。如果数据后续还会有多次运算,这个误差有可能被放大到不可忽略的程度,又或者只是不愿意看到这个不为0的数,就可以套用ROUND函数屏蔽它,ROUND函数的第二参数是返回数值的小数位数,通常取比需要数值多1-2位即可,如本例中可用4位:
=ROUND( IF(A2>=80%, 4, IF(A2>=30%, 8*(A2-30%),0)), 4)