如何在excel实现,同一列数据(例如A列),中的数值(a.b.c.d.e.f.g.h...n),任取三个随机排列组合?
展开全部
公式如下:
=INDIRECT("a"&RANDBETWEEN(1,COUNTA(A:A)))&INDIRECT("a"&RANDBETWEEN(1,COUNTA(A:A)))&INDIRECT("a"&RANDBETWEEN(1,COUNTA(A:A)))
每次按下F9即可刷新
注意:07即以上版本可直接用,03版需要加VBA函数:工具——加载宏——VBA函数
=INDIRECT("a"&RANDBETWEEN(1,COUNTA(A:A)))&INDIRECT("a"&RANDBETWEEN(1,COUNTA(A:A)))&INDIRECT("a"&RANDBETWEEN(1,COUNTA(A:A)))
每次按下F9即可刷新
注意:07即以上版本可直接用,03版需要加VBA函数:工具——加载宏——VBA函数
追答
想要不重复的数据可以考虑VBA
以下是代码
Sub 生成随机数据()
Dim num(1 To 3)
minNum = 1
maxNum = [a65536].End(xlUp).Row
For Each ran In Application.InputBox("请选择需要执行的过程的区域范围", "范围选择", Selection.Address(0, 0), , , , , 8)
For i = 1 To 3
Randomize
num(i) = Int((maxNum - minNum + 1) * Rnd) + minNum
For ii = 1 To i - 1
If num(i) = num(ii) Then
num(i) = Int((maxNum - minNum + 1) * Rnd) + minNum
ii = 0
End If
Next ii
Next i
ran.Value = Cells(num(1), 1) & Cells(num(2), 1) & Cells(num(3), 1)
Next ran
End Sub
用法:打开Excel后按下Alt+F11打开VBA编辑窗口,选:插入——模块,将以上代码复制到新插入的模块中,关闭VBA运行名字为“生成随机数据”宏即可。
注意:使用时需要将Excel宏安全性改为中或低并重新打开Excel后方可使用
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |