一位粉丝的需求,如果根据左侧的小数区间,返回区间内的随机小数?
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。
先利用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之间的随机小数,最后加上区间最小值返回一个位于区间内的小数。
小结
通过一个案例了解Excel函数嵌套使用技巧,共涉及到5个函数,不可多得的练手项目,小伙伴们快练习练习吧。
领取专属 10元无门槛券
私享最新 技术干货