EXCEL中,如何从1——49 这49个数值中随机选出25个不重复的的随机数?

如果我要的随机数是10个或者是其他任意个数,公式应该怎么改?... 如果我要的随机数是10 个或者是其他任意个数,公式应该怎么改? 展开
 我来答
levi_wzh
2011-10-04 · 知道合伙人互联网行家
levi_wzh
知道合伙人互联网行家
采纳数:2160 获赞数:7476
excel公式,条件格式

向TA提问 私信TA
展开全部
A2单元格输入公式
=SMALL(IF(COUNTIF(A$1:A1,ROW($1:$49)),50,ROW($1:$49)),ROUNDUP(RAND()*(50-ROW(1:1)),0))
数组公式以ctrl+shift+enter三键组合结束输入
公式下拉25行
想只要10个或其他任意个数,则下拉10行即可,或其他任意行.(不要超过49行)
HuaGeG
2011-10-04 · TA获得超过7713个赞
知道大有可为答主
回答量:8038
采纳率:26%
帮助的人:2389万
展开全部
简单方法:
a1:a49 =rand()
b1=rank(a1,a$1:a$49),要25个就拖到b25,要10个就拖到b10

【按F9还可得到不同结果】
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bc23f66
2011-10-04 · TA获得超过296个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:186万
展开全部
鼠标右键单击工作表标签,选择查看代码,输入如下代码。假设生成结果放在A列,自第一行开始放起。代码如下:
Sub 生成随机数()
Dim str As String
Dim i, x As Integer
Range("A1").EntireColumn.ClearContents
lp: str = InputBox("请输入需要不重复的个数,1——49", , 25)
If IsNumeric(str) = False Then
MsgBox "输入个数!"
GoTo lp
Else
If Int(str) <> str Or str > 49 Or str < 1 Then
MsgBox "输入范围:1-49,整数"
GoTo lp
End If
End If
x = Int((49 - 1) * Rnd() + 1)
For i = 1 To str
Do While WorksheetFunction.CountIf(Range(Cells(1, 1), Cells(i, 1)), x) > 0
x = Int((49 - 1) * Rnd() + 1)
Loop
Cells(i, 1) = x
Next
End Sub
代码输入完毕后,将宏安全性设为中,重新启动文档时,选择启用宏。需要时运行宏“生成随机数”即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式