Hi,我是偏爱函数公式,爱用 Excel 图表管理仓库的大叔 Mr 赵~
前段时间,有个小伙伴提过一个有关随机取值的问题:怎么生成一个从-2.5 到 + 2.5 范围内的随机值?
下面就通过几个案例,来讲一讲在 Excel 中经常用到的3 个随机函数↓
其实上面这个问题只需要一个 RAND 函数就可以搞定!
选中任一单元格,在编辑栏输入公式:
=RAND()*5-2.5
没骗你,很简单吧!
RAND 函数是一个没有参数的函数:RAND () 返回一个大于等于 0,小于 1的随机实数。
如果要生成 a 与 b 之间的随机数,就用:
=RAND()*(b-a)+a
比如要生成-5 到 8 范围的随机数,就把 a=-5,b=8 代入公式中,写成:
=RAND()*13-5
学会了这个公式套路,以后遇到再多同类型的问题,都可以轻松解决。
再来说说 RANDBETWEEN 函数。比如要构造一列年龄在 18 到 60 周岁范围内的随机值,效果如下图 B 列所示:
这时,我们就可以用 RANDBETWEEN 函数。
在 B3 单元格输入公式,然后下拉复制填充公式:
=RANDBETWEEN(18,60)
RANDBETWEEN 函数用于生成一个介于两个指定数字之间的随机整数。语法为:
=RANDBETWEEN (最小整数,最大整数)
RANDBETWEEN (18,60) 生成了一个介于 18 和 60 之间的随机整数。
当然 RANDBETWEEN 函数也可以与其它函数嵌套使用,随机生成文本。
比如随机生成一列表示性别的文本值,如下图,在 C3 单元格输入公式并向下拖动填充:
=CHOOSE(RANDBETWEEN(1,2),"男","女")
简单解释一下公式:
首先 RANDBETWEEN (1,2) 返回一个介于 1 与 2 的随机整数;
然后用 CHOOSE 函数根据这这个值选择对应的文本内容:
如果整数是 1,返回 "男",如果是 2 返回 "女"。
由此可见,RANDBETWEEN 函数对于快速生成测试数据非常有用!
最后用一个实例,讲讲 RANDARRAY 函数。如下图,怎么将 B 列的名单顺序随机打乱,效果如 D 列:
这里我们就会用到 RANDARRAY 函数,在 D3 单元格输入公式:
=SORTBY(B3:B13,RANDARRAY(COUNTA(B3:B13))
公式解析:
首先用 COUNTA 函数计算单元格区域 B3:B13 的文本个数,也就是这列名单的人数。
然后用 RANDARRAY 函数根据人数生成一列不重复随机值。
最后用 SORTBY 函数,以这列随机值作为排序依据,对名单区域 B3:B13 进行排序。
由此可见,RANDARRAY 函数的最大突破是可以生成一组不重复的随机值。
好了,今天就说到这里结束啦~
在 Excel 中,有三个随机函数:
RAND 函数:返回一个大于等于 0 且小于 1 的随机值;
RANDBETWEEN 函数:该函数返回一个在指定范围内的随机整数;
RANDARRAY 函数:可以生成一组随机值。
本文来自微信公众号:秋叶 Excel (ID:excel100),作者:赵骄阳
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。