怎么用excel在一列中随机抽取

2024-11-08 12:33:43
推荐回答(5个)
回答1:

假设数据在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个数值。

个数你可以自定义,在代码里面

回答2:

假设数据在A列
B1输入公式
=RAND()
双击填充柄

选中A:B列数据按照B列排序。
前100(或500)行数据就是抽取结果。

loveruby521掌门的公式
=INDEX(A:A,INT(RAND()*10),1)
在抽取一个时没有问题,但是抽取多个时有可能得到重复数据例如将某个号码抽中2次。

回答3:

假设要随机得出A列某行的内容,则公式可以写成

=INDEX(A:A,RAND()*65535+1) 2003版

=INDEX(A:A,RAND()*1048575+1) 2007以上版本

回答4:

一楼正解,最简单的单达到目的的方法就是最高明的方法!

回答5:

用VBA可以随心所欲