很多情况下,在缺少真实数据的情况需要生成一些固定范围的随机值=-(RAND()*(3.64-3.55)+3.55)ps:部分版本需要把负号使用括号包起来,去掉负号则生成的正值
公式拆解与计算步骤
原公式:=-(RAND()*(3.64-3.55)+3.55)
计算区间差值:3.64-3.55先计算括号内的固定差值:3.64-3.55=0.09,这是后续随机数的范围基数。
生成 0-0.09 的随机数:RAND()*0.09
RAND() 是 Excel 的随机函数,会生成一个大于等于 0 且小于 1 的随机小数(例如 0.25、0.83 等)。- 用这个随机数乘以 0.09,结果就会落在 0 到 0.09 之间(包括 0,不包括 0.09)。
偏移到 3.55-3.64 区间:+3.55上一步结果加上 3.55 后,整体范围变为 3.55 到 3.64 之间(例如:0+3.55=3.55,0.09+3.55=3.64)。
取负值:-()对整个结果取负数,最终生成的随机数范围变为 -3.64 到 - 3.55 之间。
举例说明
假设RAND()生成了 0.5,则:
- 计算过程:
-(0.5*0.09 + 3.55) = -(0.045 + 3.55) = -3.595 - 结果
-3.595 正好处在 -3.64 到 -3.55 之间。
=(RANDBETWEEN(0,1)*2-1) * (RAND()*(3.64-3.55)+3.55)
公式拆解与计算步骤
原公式:=(RANDBETWEEN(0,1)*2-1) * (RAND()*(3.64-3.55)+3.55)
第一部分:生成随机正负符号 (RANDBETWEEN(0,1)*2-1)
RANDBETWEEN(0,1)这部分会随机生成两个整数中的一个:0 或 1(两种结果的概率各约 50%)。
乘以 2 再减 1
- 若第一步生成
1:1*2-1 = 1因此,第一部分的最终结果只会是 1 或 -1,用于随机决定整个结果的正负符号。
第二部分:生成 3.55 到 3.64 之间的随机数 (RAND()*(3.64-3.55)+3.55)
计算区间差值:3.64-3.55结果为0.09,这是随机数的范围基数。
RAND()*0.09
RAND()生成 0 到 1 之间的随机小数(例如 0.3、0.72 等)。- 乘以 0.09 后,结果落在0 到 0.09 之间(包含 0,不包含 0.09)。
加 3.55 偏移上一步结果加上 3.55 后,范围变为3.55 到 3.64 之间(例如:0+3.55=3.55,0.09+3.55=3.64)。
第三部分:两部分相乘
用第一部分的1或-1,乘以第二部分的 3.55~3.64 之间的随机数,最终结果会是:
- 要么是3.55 到 3.64 之间的正数(当第一部分为 1 时)
- 要么是 **-3.64 到 - 3.55 之间的负数 **(当第一部分为 - 1 时)
举例说明
若RANDBETWEEN(0,1)生成1,RAND()生成0.5:计算过程:(1*2-1) * (0.5*0.09 + 3.55) = 1 * (0.045 + 3.55) = 3.595(正数)
若RANDBETWEEN(0,1)生成0,RAND()生成0.8:计算过程:(0*2-1) * (0.8*0.09 + 3.55) = -1 * (0.072 + 3.55) = -3.622(负数)