精选优质文档-倾情为你奉上用EXCEL按比例生成随机数(或叫按机率生成随机数) 这是百度知道一位同学的提问。要求生成范围为1到50的随机整数,并且,115的机率为50%,1636的机率为30%,3750的机率为20%。同时还要求生成500组,每组8个。我当时给出一个公式:=if(rand()0.5,round(rand()*14,0)+1,if(rand()0.6,round(rand()*20,0)+16,round(rand()*13,0)+37)这里说下用round和用int的区别,用int生成1636的随机数的话应该用int(rand()*21+16),而用round可用round(rand()*20+16),这后面的+16放括号里面外面都一样,因为取整操作是由小数部分决定的。还有我第二个if的判断用的是rand()0.6而不是小于0.3,这是因为第二个if会执行的机率是50%,50%乘以0.6就是30%。后来楼主同学又出怪招,要求每组无重复数字,每组从小到大排列。这个只用单纯的公式的话不好办了。我写了个VBA:Sub