假设数据在a列(QQ号)
在空白单元格输入
=INDEX(A:A,INT(RAND()*100),1)
就会随机抽取一个qq号了
向下拖就会出现很多
最好A:A范围明确指定 如A1:A100
上面公式抽取的可能有重复的
你可以用代码解决
QQ号数据在A列
在宏填写代码如下:
Sub seldata()
Dim r As Long
r = Range("a65536").End(xlUp).Row
Randomize
For j = 1 To 100
Randomize
i = Int((r - 1 + 1) * Rnd + 1)
Cells(j, 2).Value = Cells(i, 1).Value
Next j
End Sub
运行宏seldata
在B列中可得到随即且不重复的100个数值。
个数你可以自定义,在代码里面
假设数据在A列
B1输入公式
=RAND()
双击填充柄
选中A:B列数据按照B列排序。
前100(或500)行数据就是抽取结果。
loveruby521掌门的公式
=INDEX(A:A,INT(RAND()*10),1)
在抽取一个时没有问题,但是抽取多个时有可能得到重复数据例如将某个号码抽中2次。
假设要随机得出A列某行的内容,则公式可以写成
=INDEX(A:A,RAND()*65535+1) 2003版
=INDEX(A:A,RAND()*1048575+1) 2007以上版本
一楼正解,最简单的单达到目的的方法就是最高明的方法!
用VBA可以随心所欲