1樓:匿名使用者
在a1輸入=rand()如需要140個數就下拉到a140.(需要多少個可下拉多少個)
在b1輸入=rank(a1,$a$!:$a:$a$140)+410(此處的$140以a列下拉格數為準;加號後面的數字以你需要開頭的數字為準,如需0-xx的,可省略加號及後面的數字。)
b1輸入後回車,下拉到需要的數量,此數量內的數字均為整數,且不重複。如不想顯示辦法,可將a列隱藏,或將b列複製選擇性貼上數值到其它工作表。
我用的就是這個辦法,希望能幫到你。
2樓:朱仕平
=int(rand()*(551-411)+411)隨機數,多了肯定會復嘛
如果想重複的機率小一些,可以用
=int(rand()*rand()*rand()*rand()*(551-411)+411)
這樣重複的機率會更小一些
=int(rand()*40+rand()*40+rand()*40+rand()*20+411)
3樓:匿名使用者
用巨集sub 按鈕1_單擊()
for i = 1 to 140
cells(1, 3) = int(rnd * 140) + 411cells(1, 2) = "=countif(a1:a" & i & ",c1)"
if cells(1, 2) > 0 theni = i - 1
cells(1, 3) = ""
cells(1, 2) = ""
goto l1
else
cells(i, 1) = cells(1, 3)cells(1, 3) = ""
cells(1, 2) = ""
end if
l1:next
end sub
測試一遍 ok
備註一下:這個速度比較慢
快一點的話就是把你要打亂的數字列出來放在a列然後通過隨即選擇提取某個數列在b列
這樣速度會提快很多
4樓:
請看截圖中的函式,滿意請給分~~
5樓:匿名使用者
public sub 不重複隨機數()
dim x as new collection, i as longdim arr(1 to 140) as long, j as long, n as long, k as long
n = 140
for i = 0 to 140
x.add item:=i
next
'x.remove 2
for i = 1 to 140
j = int((n - 0) * rnd + 0) '返回一個0-n但不包含n的隨機數整數
n = n - 1 '取出一個數後,n容量減小一個arr(i) = x.item(j + 1)x.remove j + 1 '取出一個隨機數後清除出集合,避免重複next
[b1:b140] = worksheetfunction.transpose(arr)
for k = 1 to 140
cells(k, 1) = cells(k, 2) + 411next
range("b1:b140").selectselection.clearcontentsrange("a1").select
end sub
ecel如何產生隨機數,EXCEL如何產生隨機數?
excel隨機數函式 我看了你的表,明白你的意思是要生成1 10之間的整數隨機數。但你說要根據已經有的一列數,這我就不明白了。因為無規律的隨機數不應該和已給的隨機數有關。否則又怎麼能稱得上真正的隨機數呢。rand 此函式是生成0 1之間的隨機小數。若要生成a與 b之間的隨機實數,應使用 rand b...
excel如何統計種類數量,Excel如何統計分類總數?
先排序,再分類彙總 或者先用高階篩選 選中不重複的資料到新區域 再用countif函式,不明白請追問,或留下q 比如你要統計的資料在sheet1表的a列,那你可以在sheet2表的a列輸入種類,b1輸入數量,b2輸入 countif sheet1 a a,a2 並向下填充。用countif 做統計。...
Excel如何批量查詢,Excel如何批量查詢
以2007版excel為例,我們要將 2中的運單號在 1中找出來,並將 2的完成情況返回到 1對應的運單號中。也就是在 1中查詢 2的運單號,找到後返回完成情況值。演示時我們將 1和 2分別放到同一工作薄中的兩個工作表,分別命名為 彙總表和明細表 1 開啟excel,在彙總表的備註列,h2單元格中輸...