如何在Excel中把一个数 随机分成30份,要求数值>100并且<999。求公式,最好超详细。

精确到小数点后一位即可。谢谢😊

1、选择A1:A30单元格,输入 =RAND()  按Ctrl+Enter组合键结束,生成一组随机数

2、在D2单元格输入=SUM(B:B)

在D3单元格输入=COUNTIF(B:B,">100")

在D4单元格输入=COUNTIF(B:B,"<999")

3、选择B1:B30单元格,输入以下公式,按Ctrl+Enter组合键结束,然后按F9键,生成D2为16000,D3为30,D4为30时的随机数时,即可符合要求,可按F9键继续生成下一组随机数。

=ROUND(100+(D$1-30*100)*A1/SUM(A$1:A$30),1)

追问

D1呢?

追答

D1就是已知条件16000。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-11-23
这个操作,,想做到真正的无条件随机,用函数太可能复杂了。既要保证每个数在范围内,还要保证总和是你特定单位一个数,所以需要30个数具有相互关系。
我只会用vba代码来做了。不知道你是否能接受。。
第2个回答  2018-11-23
A1到A60输入=rand()
B1输入=a1/sum(A1:A60)*(16000-3000)+100
下拉到B60
B1到B60就是你要的总和16000的30个随机数结果了,保存一下就刷新一次
第3个回答  2018-11-23

公式:

=RANDBETWEEN(100,999)

追问

比如16000 怎么操作??你这个看不懂(#-.-)

追答

指定和的随机数呀,要逐渐修正随机数的范围,下面的VBA代码可以实现:

生成的效果如下图:

本回答被网友采纳
第4个回答  2018-11-23
写代码可以实现追问

代码不会啊……

相似回答