利用RAND()随机取数,能否在一个封闭区间循环

利用RAND()随机取数,能否生成一个封闭区间循环数,用于字表单随机题库随机选选建设

yzm149530 发布于 2021-6-16 00:11
1min目标场景问卷 立即参与
回答问题
悬赏:2 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
yzm149530Lv3见习互助
发布于2021-6-17 00:13

感谢亲们的解答,封闭区间取整数可以利用INT(RAND()*(b-a)+a),特定情境下封闭循环也可以实现,只是需要一个小技巧,即封闭区间取数+封闭区间完整数列:UNION(SPLIT(CONCATENATE(INT(RAND()*4+1),",",INT(RAND()*4+1),",",INT(RAND()*4+1),",",INT(RAND()*4+1)),","),1,2,3,4),实现了封闭区间循环。对于子表单建设可以设置随机数+序号两列,采用等同于前列表达式,实现封闭区间循环

  • dongfan dongfan 你这个最佳答案,从结果来看,你不是要随机啊,你根本就是要一组数列,随机打乱顺序而已,返回这一组完整的数列啊! 和你提问完全不是一个问题啊!哈哈哈
    2021-06-18 10:06 
  • yzm149530 yzm149530(提问者) 回复 dongfan 可能表达不准确。对于一个数据是一个数组,多次打开表单填写或者子表单同列多行,都是在此封闭区间随机循环
    2021-06-18 12:57 
最佳回答
1
张明亮Lv6初级互助
发布于2021-6-16 23:27

子表单设定一列 【随机数】 公式如下:

CONCATENATE(INT(RAND()*最大数)+1+",",INT(RAND()*最大数)+1+",",INT(RAND()*最大数)+1+",",INT(RAND()*最大数)+1+",")

主表单设置字段 【随机题号】公式如下:

UNION(SPLIT(CONCATENATE(子表单.随机数),","))

这个是实现的效果,是生成1到最大数的随机数序列,可以根据需要进行提取。

最佳回答
0
snrtuemcLv8专家互助
发布于2021-6-16 05:57(编辑于 2021-6-16 05:59)
参考https://hc.jiandaoyun.com/doc/9035 里面rand函数就有介绍啊, RAND() 返回大于等于 0 且小于 1 的均匀分布随机实数。每一次触发计算都会变化。 用法举例: 公式含义RAND() 大于等于 0 但小于 1 的一个非整数的随机数 RAND()*100 大于等于 0 但小于 100 的一个非整数的随机数 RAND()*(b-a)+a 大于等于 a 但小于 b 的非整数的随机数 INT(RAND()*(b-a)+a) 大于等于 a 但小于 b 的随机整数
最佳回答
0
shirokoLv6资深互助
发布于2021-6-16 08:58

用randbetweenimage.png

  • 2关注人数
  • 763浏览人数
  • 最后回答于:2021-6-17 00:13
    请选择关闭问题的原因
    确定 取消
    返回顶部