excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel随机数相加等于整数

前言

有网友提出如何使Excel随机数相加等于整数,在某些特定环境会用到这种方式

使用函数

rand()和randbetween()这两个函数

rand函数,在空白单元格输入rand,点击fx

这个函数没有参数,返回的是大于等于0小于1的随机数

另一个函数是randbtween(),在空白的地方输入函数点击fx

看到两个参数一个是最小值一个是最大值,将返回这个区间内的随机整数

案例演示

首先进一步明确需求环境:

从0-100之间选取随机10个数字,保证这10个数字的和为100

下面正式看如何具体解决

第一步分析需求,寻找思路

可以使用rand函数选取一个随机数作为第一个数,

为了保证总数不能超过100,第二个数只能从0到(100减第一个数)之间选取

同理第三个数、第四个数……

第二步具体执行

因为rand函数只能取到0-1之间的随机数,

但是和我们的目标0-100有差异,这里可以使用rand乘以100

在第一个单元格内输入RAND()*100,代表从0-100随机选数

第二个单元格内输入RAND()*(100-SUM($B$3:B3)),保证每一次的随机数加总

不能超越100

注意sum函数的绝对引用

依次填充,最后一个单元格输入100-SUM(B3:B11)

在这里大家看到的上图一系列数据前大后小,为了均匀数据,可以人工干预

请看这个函数:ROUNDUP(RAND()*2*(100-SUM($C$2:C2))/(12-ROW(C2)),1)

比之前写的函数多了一个乘2,和(12-ROW(C2)),1),分解一下

第一个单元格中是RAND()*2*(100-SUM($C$2:C2))/10也就是说稀释了10倍

在倒数第二个单元格内的函数分解为

RAND()*2*(100-SUM($C$2:C10))/2,直接约掉了分子分母的2,从上到下分母越来越小。整体的数越大,人工干预随机数看起来均匀。

扩展需求补充:

如果需要返回的随机数是整数,可以采用两种方法

1、直接使用randbetween函数

2、通过使用round函数对rand函数的随机值进行四舍五入或者ROUNDUP向上整或者ROUNDDOWN函数向下取整

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接