怎么在EXCEL生成8位随机数字

怎么在EXCEL生成8位随机数字,第1张

使用函数指令可以完成。

单元格=ROUNDDOWN((RAND()99999999),0)

按F9刷新即变化随机8位数

ROUNDDOWN(number,num_digits)

Number 为向下舍入的任意实数。这个参数用的不多。

Num_digits 四舍五入后的数字的位数。这个参数用的不多。

rand()函数产生随机数的一个随机函数。

99999999这八位数的9代表单元格的随机数是8位且不大于99999999

最后一位0表示没有小数点,随机数为整数。

因为随机数函数是一个易失性函数,所以正如题主所说,生成的随机数会在每次打开文件时重新生成。其实,不只是打开文件时,而是工作表中有任何 *** 作,如输入数据后按回车键确定、筛选、排序按F9重新计算等,随机数都会重新生成。

要使随机函数生成的随机数不再发生变化,必须在公式中设置单元格在一定的条件下等于单元格本身,这就必须打开Excel的迭代计算(即Excel的循环引用)。所以要达到题主的目的,需要按如下步骤来做:

在选项的公式选项卡中,把“启用迭代计算”打上对勾后确定,以启用迭代。

假设需要生成的随机数在1~10之间,在B2中输入公式:

=IF($A1=""," ",IF(COLUMN()-1>$A1,"",IF(B2=" ",RANDBETWEEN(1,10),B2)))

右拉到若干个单元格(单元格个数大于或等于A1中可能输入的最大数字)

现在因为A1中没有输入内容,第1个IF为真,输入公式的单元格显示为空(注意空是一个空格——英文双引号中输入了一空格)

当在A1中输入数字时,第1个IF条件为假,则执行第2个IF,假设输入的数字是5,在B2~F2(不是题主所说的E2)中,第2个IF为假,执行第3个IF。显然第3个IF为真空,因为原来已赋值一个空格,于是生成一个1~10的随机数字;而在G2以后的单元格中,因为前面的数字个数已与A1相同,列数字-1后大于A1,所第3个IF条件为真,取空值(双引号中没内容——单元格显示为没空格的空)。

再来分析B2单元格,当工作表中有 *** 作时,易失性函数会发生变化,但公式中第3个IF的条件为假——B2单元格已有数字,不是一个空格,所取第3参数,即取B2值——也就是已取得的随机数——不再变化。这个B2是引用单元格本身——这就是Excel中的循环引用——所以输入公式前要进行步骤1的设置——启用迭代计算。C2~F2所有已取得的数字的单元格同样不再发生变化。

要重新生成随机数时,只要删除A1中的内容,使第2行填充了公式的单元格重新初始化——取得一个空格,再在A1中输入新的数字即可。

在VC中设计到随机数有两个函数

srand() and rand()

srand() 的作用是是一个种子,提供每次获得随机数的基数而已,rand()根据种子而产生随机数

注意

1:srand() 里的值必须是动态变化的,否则得到的随机数就是一个固定数

2:其实可以不用写srand() ,只用rand()就可以了,省事,简单,例子如下

如果我们想得到一个 0-60的随机数那么可以写成

int i;

i=rand()%60;

就可以了。

当然最好有个统一的标注如下:

int i;

srand((unsigned)time( NULL ));

i=rand()%60;

这样就OK了。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12156724.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存