产生随机小数_如果取到小数区间内的任一数字?

  • Post author:
  • Post category:其他


一位粉丝的需求,如果根据左侧的小数区间,返回区间内的随机小数?

4ed4c4a7e07e01974e71d0d1575cb636.png

Excel中存在两个随机函数,一是RANDBETWEEN,但其返回的是随机整数,而不是小数;二是RAND函数,返回0-1之间的随机小数,两者都无法直接产生需求的结果。

思路

既然是随机,就必须得结合随机函数。

方法一,化小数为整数,再利用RANDBETWEEN函数;

方法二,区间最大值与区间最小值之间的差值*RAND函数+区间最小值。

方法一RANDBETWEEN

公式如下(左右滑动查看完整公式):

=RANDBETWEEN(MID(A2,1,FIND("-",A2)-1)*100,MID(A2,FIND("-",A2)+1,LEFT(LEN(A2)-FIND("-",A2)))*100)/100

一共用到了4个函数:RANDBETWEEN、MID、FIND、LEN;


RANDBETWEEN

(最小值,最大值)返回一个介于指定数字之间的随机整数;


MID

(要截取的字符串,开始位置,截取长度),从文本字符串指定的起始位置返回指定长度的字符,

MID

(“2.25-2.4”,1,4)返回2.25;


FIND

(要查找的字符,字符串),返回一个字符串在另一个字符串中出现的起始位置,

FIND

(“-:,”2.25-2.4”)返回5;


LEN

(字符串),返回文本字符串中的字符个数,

LEN

(“2.25-2.4”)返回8。

9075f064b6e062341330fd091b4f5496.png


先利用MID、FIND、LEN函数获取小数区间的两头数字,各乘以100,小数变整数,接着利用RANDBETWEEN获取随机整数,最后除以100,整数变小数

方法二RAND

公式如下(左右滑动查看完整公式):

=MID(A4,1,FIND("-",A4)-1)+(MID(A4,FIND("-",A4)+1,LEFT(LEN(A4)-FIND("-",A4)))-MID(A4,1,FIND("-",A4)-1))*RAND()


先利用MID、FIND、LEN函数获取区间最小值,接着获取区间差值,区间差值乘以一个0-1之间的随机小数,最后加上区间最小值返回一个位于区间内的小数。

23971825619373e1fc966d6e0af754ba.png

小结

通过一个案例了解Excel函数嵌套使用技巧,共涉及到5个函数,不可多得的练手项目,小伙伴们快练习练习吧。



版权声明:本文为weixin_39657662原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。