excel中递进函数if函数嵌套问题

2024-12-04 00:44:28
推荐回答(2个)
回答1:

  函数用法:if(判断真假,真时显示,假时显示),if套用,“真时显示”和“假时显示”的部分可以分别套用if().

  =IF(B2<=5,IF(ROUND((B2+RAND()*(RANDBETWEEN(-11,11)/100)),2)



  上边公式,应该有误,经过 万年金刚钻 的提示我也看到了raundbetween()的缺点,每一个它都会显示不同的数据,所以改进了公式,加了辅助单元格,就只显示一回,randbetween()

  E2公式:=IF(B2<=5,IF(C2

  C2公式:=ROUND((B2+RAND()*(RANDBETWEEN(-11,11)/100)),2)

  D2公式:=ROUND((B2+RAND()*(RANDBETWEEN(-26,26)/100)),2)


  

回答2:

注意:楼主的公式中,RANDBETWEEN(-11,11)、RANDBETWEEN(-26,26)各出现了多次

看着似乎同一个RANDBETWEEN(-11,11),但是实际上,它们在同一个公式中出现几次时,值是不同的。比如在条件判断中,RANDBETWEEN(-11,11)可能是一个负值,从而IF判断为

楼主可能需要重新结构性规划这个公式的处理,而不是试图找出公式有什么不对

建议,在辅助列先固化RANDBETWEEN:比如在E2输入公式:

=RANDBETWEEN(-11-IF(B2>5,15,0),11+IF(B2>5,15,0))

这将生成一个依据B2的大小产生的介于【-11,11】或【-26,26】之间的随机数并固化在单元格里

然后,在C2简化原公式为:

=ROUND((B2+RAND()*E2/100),2)+IF(SIGN(E2)=1,0,0.15*IF(B2<=5,1,2))

附件可参考