永发信息网

我想随机排列1到20之间数字的顺序,用Excel怎么做

答案:2  悬赏:80  手机版
解决时间 2021-02-28 11:52
  • 提问者网友:且恨且铭记
  • 2021-02-27 20:05
我想随机排列1到20之间数字的顺序,用Excel怎么做
最佳答案
  • 五星知识达人网友:低血压的长颈鹿
  • 2021-02-27 20:26
用VB做或做一个宏.把以下代码复制在宏内.在A1:A20产生.执行一次宏

Dim a As Range, b As Range
Set a = Range("A1:A20")
a.ClearContents
Randomize
For Each b In a
Do
b = Int(1 + Rnd * 20)
Loop Until Application.WorksheetFunction.CountIf(a, b) = 1
Next
全部回答
  • 1楼网友:一把行者刀
  • 2021-02-27 21:35

假设数据在a列,随机数据放在b列,还需要一个辅助列,假设是e列

如下图:

在e2输入:=rand() 填充到e8

在b2输入:=indirect("a"&if(countif(e$1:e1,e2)>0,rank(e2,e$2:e$8)+countif(e$1:e1,e2),rank(e2,e$2:e$8))+1)  填充到b8

这样每次打开表格,或编辑任一单元格,b列都会重新随机排列一次。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯