excel如何生成两个有关联的随机数

  • 9
    996icu
    -20<A,B<10
    |A-B|<15
    如何批量生成这样的随机数呀
  • j
    jimmy203308
    输入太少了,A大于-20,小于多少?B小于10,大于多少?总得有个大致范围吧
  • j
    jimmy203308
    换个思路,不一定适合,先生成随机数(0,15),再生成随机B(-20,10),A就是两个相加
  • 9
    996icu
    AB都是小于10大于-20。。。
    当然也可能是其他范围
  • 9
    996icu
    还是得人工筛选在范围外的随机数组
  • j
    jimmy203308
    不可能在范围外啊
  • M
    M3_GTR
    A=RANDBETWEEN(-20,23)
    B=RANDBETWEEN(A1-14,10)

    不知道对不对,抛砖引玉
  • y
    yrrehc
    得看你对随机数的分布要求了,如果没有要求的话,先生成一个(-20,10)区间内的随机数A,然后生成一个±15区间内的随机数+A=b,然后通过公式对B的输出值进行约束,比如如果返回值为小于-20就返回-40-b,大于10就返回b-20,得到你要的B
  • 9
    996icu
    10+10=20>10
  • 9
    996icu
    这个思路好像可以
    if函数吗,不过不太会用
  • f
    fsrq
    会用EXCEL的都是高手!
  • 夏雨荷
    A,B 是随机整数还是其他?


    A = RAND()*30-20 或者 A = RANDBETWEEN(-19,9)(整数)
    B = RAND()*30-20 或者 B = RANDBETWEEN(-19,9) (整数)

    增加一个判断列,公式 :=IF(ABS(A2-B2) < 15,TRUE, FALSE)
    最后把 false 值的行剔除就行了

  • i
    iaminheu
    生成范围内的随机数

    然后再去掉差值大于你要的范围的数
  • j
    jimmy203308
    明白了,一开始没懂你的意思,AB都要-20到10,且两者差小于15,那就A=RANDBETWEEN(-20,10);B=IF(I16<=-5,RANDBETWEEN(-20,替换A的单元格+15),RANDBETWEEN(替换A的单元格-15,10))。
  • 夏雨荷
    RANDBETWEEN(a,b)函数实际上是包含 a,b 值的
  • j
    jimmy203308
    是的,楼主也没说精度,如果是到小数点后面2位,所有都是()非[],改成:
    A=RANDBETWEEN(-1999,999)/100 ;
    B=IF(替换A的单元格<=-5,RANDBETWEEN(-1999,替换A的单元格*100+1499)/100,RANDBETWEEN(替换A的单元格*100-1499,999)/100)
  • m
    mx881102
    楼上的限定了AB都是-20到10了。超出的就出问题。试试这个
    A1=IF(C1=1,A1,RANDBETWEEN(-20,999));
    B1=IF(C1=1,B1,RANDBETWEEN(-999,10));
    C1=IF(ABS(A1-B1)<15,1,0)
    EXCEL开迭代,因为迭代次数有限制,没仔细测算具体能到多少反正上面区间没有问题。
  • 微‖吾
    A=randbetween(-20,10)
    B=randbetween (max(-20,A-15),min (10,A+15))