顺序返回2113间隔10行的随机数据,如:
Sheet2的A1返回Sheet1的A1:A10当中的任一数据、A2返回Sheet1的A11:A20当中的任一数据、……
在Sheet2的A1输入
=RANDBETWEEN(INDIRECT("Sheet1!A"&(ROW(1:1)-1)*10+1),INDIRECT("Sheet1!A"&ROW(1:1)*10))
回车并向下填充。
交替按F2和Enter更新数据,确定后,5261选A列——复制——右键——选择性粘贴——数值4102——确定,就把公式转换成数据固定下来了。
可以用 rand() 函数配合…1653…
比如 你一列数在A列 那么你在B列输入 =rand() 对应 A列填满……
然后内在C列 输入
C1 =INDEX(A:A,SMALL(IF(B$1:B$1000=SMALL(B$1:B$1000,ROW(A1)),ROW(B$1:B$1000,""),ROW(A1))) 输入完 按住shift 和ctrl键 再按回车 变成数组公式 ……
然后向下复制……复制多少行 就是在1000个数据中容随机抽出 多少个……每一按F9 就会得到一组新的数据。
用你给出的数组的例子,比如在A2:E7范围内随机提取一个数字,可以使用OFFSET函数。可以在数组外的任意一个单元格输入:
=OFFSET($A$2,RANDBETWEEN(1,5),RANDBETWEEN(1,4))
即可提取区域内任意一个单元格的内容。
因为数据是不规则的,所以用数据范围来挑选比较麻烦,而用随机偏移量,也就是随机指定单元格的方法比较方便。随意单元格的位置随机偏移便是最省力最有效也最快速的选择。你可以试一下。
1、计算前五的分数:选中E2到E6区域,输入数组公式:=LARGE($C$2:$C$31,ROW($1:$5))按三键(CTRL+SHIFT+ENTER)完成数组公式;2、计算前五所在班级:在F2输入公式:=VLOOKUP(E2,IF({1,0},$C$2:$C$30,$A$2:$A$31),2,0)下拉到F6,复制公式。
3、计算各班所在人数:在G2输入公式:=IF(COUNTIF($F$2:F2,F2)=1,COUNTIF($F$2:$F$6,F2),"")下拉复制公式。
1、计算前五的分数:
选中E2到E6区域,输入数组公式:
=LARGE($C$2:$C$31,ROW($1:$5))
按三键(CTRL+SHIFT+ENTER)完成数组公式;
2、计算前五所在班级:
在F2输入公式:
=VLOOKUP(E2,IF({1,0},$C$2:$C$30,$A$2:$A$31),2,0)
下拉到F6,复制公式。
3、计算各班所在人数:
在G2输入公式:
=IF(COUNTIF($F$2:F2,F2)=1,COUNTIF($F$2:$F$6,F2),"")
下拉复制公式。
要使产生随机数字固定下来,必须先在选项的公式选项卡中勾选“启用迭代计算”后确定。
然后,徒然A1:C1,输入公式:
=IF(OR(COUNTIF($A1:$C1,A1)>1,AVERAGE($A1:$C1)>$A$2),RANDBETWEEN(24,36),A1)
按Ctrl+回车键,一次完成3个单元格的公式输入,并得到结果。
公式说明,IF条件为两个条件的或,即只要一个条件为真,条件就成立:一个是A1:C1中有重复数,另一个是A1:C1的平均数不等于A2。条件成立,则重复产生随机数。条件不成立,也就是3个数字中没重复数,且平均值与A2相等,那么取单元格本身,即数字不再变化。这是单元格直接引用单元格本身,为循环引用,所以要先打开启用迭代计算。