excel随机抽取数据公式

A3-L10为数据区,O3为数据区中随机抽取个数,求N6中公式,N6需显示数据区中随机抽取的数据,个数为O3中数目,数据之间用逗号分隔。... A3-L10为数据区,O3为数据区中随机抽取个数,求N6中公式,N6需显示数据区中随机抽取的数据,个数为O3中数目,数据之间用逗号分隔。 展开
 我来答
夜空里的守望者
2019-04-16 · 穿越时空,互联互通。
夜空里的守望者
采纳数:8493 获赞数:31597

向TA提问 私信TA
展开全部

楼主想要的功能,可以通过VBA程序代码处理,也比较简单。

(1)程序代码如下:

Sub rnd_selection()
Dim i1, i2, i3, str
On Error Resume Next
Randomize
Set mysheet1 = ThisWorkbook.Worksheets("Sheet1")
mysheet1.Range("N6") = ""
i1 = mysheet1.Range("O3").Value

For i2 = 1 To i1
 If str = "" Then
  str = mysheet1.Cells(Int(Rnd() * 8 + 3), Int(Rnd() * 12 + 1))
 Else
  str = str & "," & mysheet1.Cells(Int(Rnd() * 8 + 3), Int(Rnd() * 12 + 1))
 End If

Next

mysheet1.Range("N6") = str

End Sub

(2)执行结果如下图:

花活管夜山小你6520
2019-04-15 · TA获得超过2308个赞
知道大有可为答主
回答量:4627
采纳率:81%
帮助的人:269万
展开全部
假设你的数据在A列……
那么你在B列 输入 =rand() 然后向下复制……
然后你在 C列 输入
C1 =INDEX(A:A,MATCH(SMALL(B:B,ROW(A1)),B:B,0))
这样向下复制30 个 ,这样 你每按一次F9 就得到 一组30个 随机取得的数据……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
姓王的wy451

2019-04-21 · TA获得超过48.3万个赞
知道大有可为答主
回答量:8万
采纳率:78%
帮助的人:8980万
展开全部
要完全满足你的要求,只能写自定义函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柳上寒烟
2019-04-15 · TA获得超过2149个赞
知道大有可为答主
回答量:2847
采纳率:79%
帮助的人:530万
展开全部
这种问题我会用VBA搞定它。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式