根据条件生成随机数,

如图所示,怎么让 I 列生成的数字是随机的,我的公式是={IF(SUM($C$2:$C$6)>=$G$2:$G$401,IF(ROUND(SQRT(SUM($I$2:$I$401^2)/SUM($C$2:$C$6)),1)=ROUND(AVERAGE($D$2:$D$6),1),$I$2:$I$401,RANDBETWEEN(50,400)/10))}

img

应该是你的条件有问题,没有执行到RANDBETWEEN(50,400)/10 这个随机数

不知道你要根据什么条件实现随机数

Excel表格上面可以使用RAND,RANDBETWEEN函数生成随机数,却无法与其他函数生成满足条件的随机数。

使用VBA求解满足条件的随机数时,先生成一个固定的随机数,再求解一个偏差范围内的随机数,
最后使得生成的随机数在指定范围内且两个数的偏差满足条件,这样就可以减少运算量,减少等待时间。

https://zhuanlan.zhihu.com/p/442966660 ////////// https://jingyan.baidu.com/article/456c463b2fc0790a58314494.html //////////https://zhidao.baidu.com/question/17317708.html

你的代码这么多判断条件,现在是你判断条件里面前面成立了啊,没有执行到后面生成随机数的地方吧。
你把前面的代码都删除,直接就用个随机数的方法,你看看是不是随机的。