EXCEL怎麼做不重複隨機數,如何在EXCEL中生成不重複隨機數

2022-09-19 15:51:42 字數 4266 閱讀 4830

1樓:

你沒認真搜尋吧 我曾經解答過這個問題的

alt+f11 插入模組 使用如下** 即在sheet1中a1:a50生成不重複隨機數

public sub 高階隨機數()

dim x as new collection, i as long

dim arr(1 to 50) as long, j as long, n as long

n = 99

for i = 0 to 99

x.add item:=i

next

'x.remove 2

for i = 1 to 50

j = int((n - 0 + 1) * rnd + 0) '返回一個0-n的隨機數

n = n - 1 '取出一個數後,n容量減小一個

arr(i) = x.item(j + 1)

x.remove j + 1 '取出一個隨機數後清除出集合,避免重複

next

[a1:a50] = worksheetfunction.transpose(arr)

end sub

2樓:匿名使用者

用公式也可以實現,要做兩列資料,第三列才能出結果。

兩種隨機方式不同導致公式和操作的不同,第一,是滿隨機,如生成10個1至10的隨機數,第二,生成6個1到10的隨機數。兩個的辦法不太一樣。第一種相對簡單一些。

如何在excel中生成不重複隨機數

3樓:匿名使用者

在a2中輸入=rand()

在b2中輸入=rank(a2,a:a,0)同時向下複製,你要多長的隨機數,就向下複製多少行即可。

如果你要的隨機數起始值不為1,比如要100到200內的隨機數,就把第二個公式加個基數就行,如:

=rank(a2,a:a,0)+99

然後向下複製100行就是了

4樓:中國扔民銀行

sub five()

for each c in range("a1:f10") '可以在某一個區間內,比如a1:f10

c.value = int(rnd() * 60) + 1do while worksheetfunction.countif(range("a1:f10"), c) > 1

c.value = int(rnd() * 60) + 1loop

next

end sub

excel隨機數不重複的問題

5樓:匿名使用者

1、在工作表左上角的名稱框中輸入a1:a60 按確定,將a1:a60單元格選中,輸入=rand()  按ctrl+enter組合鍵結束

2、在b1單元格輸入以下公式,然後向下填充公式=rank(a1,a:a)

公式表示:返回a1在a列中的排名,因rand()幾無重複,因此返回的排名都是唯一的,符合1-60隨機且不重複的要求。

3、可根據需要,隱藏a列。

6樓:官琦

在a1裡面a1-a999中用公式生成999個隨機數=rand()

b1-b60中用公式排序,b1中輸入=rank(a1,$a$1:$a$999),一直拉到b60

b1:b60就是1-60個不重複的隨機數字

7樓:

給你兩個**:

1、只能在某一列進行,比如在a1:a60

sub emily08112005()

dim drawnarray(1 to 60) as booleandim numarray(1 to 60, 0) as integer

erase drawnarray

for i = 1 to 60

num = int(60 * rnd + 1)do while drawnarray(num) = truenum = int(60 * rnd + 1)loop

drawnarray(num) = truenumarray(i, 0) = num

next i

sheet1.range("a1:a60") = numarrayend sub

2、可以在某一個區間內,比如a1:f10

sub five()

for each c in range("a1:f10")c.value = int(rnd() * 60) + 1do while worksheetfunction.

countif(range("a1:f10"), c) > 1

c.value = int(rnd() * 60) + 1loop

next

end sub

8樓:匿名使用者

=randbetween(1,60)

j**a中如何用random函式產生不重複的隨機數?

excel中如何實現多個隨機數之間相互不重複

9樓:退休畫線工

先在選項中開啟「啟用迭代迴圈」,並把最大迭代次數設定到1000或更大。然後選擇a1:10單元格,輸入:

=if(or(n(isnumber(a1)),countif($a$1:$a$10,a1)>1),randbetween(1,100))

按ctrl+enter。

10樓:騎雲

看一下附件吧。

c列就是你需要的資料。

在excel中如何得到1到100不重複的隨機數?

11樓:匿名使用者

=int(rand()*(b-a)+a)表示a-b之間的整數,>=a,

如果在三十個單元格中輸入=int(rand()*(101-1)+1),可以實現1-100隨機,但有可能有重複。

但如果實現你說的30個不重複的,我想可以這樣在三十個單元格中輸入

=int(rand()*(15-1)+1),=int(rand()*(30-15)+15),...=int(rand()*(85-70)+70),=int(rand()*(101-85)+85),我隨便寫的,意思是這樣。按f9,可以實現隨機。

不知道能不能達到您的效果。:)

12樓:匿名使用者

=randbetween(1,100)

13樓:匿名使用者

=100*rand()

excel 怎樣產生一組不重複的隨機數

14樓:匿名使用者

在a1單元格輸入

$50)),int((51-row())*rand()+1)))」,不要直接回車或點前邊的勾確認,而要點ctrl+shift+enter三鍵結束,具體請參考如下帖子:

excel 怎麼生成大量的不重複隨機數

15樓:苗喬恩

使用隨機函式即可;

隨機函式公式: =rand()

如下圖所示:

在excel裡生成不重複的隨機整數

16樓:匿名使用者

1、選擇a1:a100單元格,輸入=rand()   按ctrl+enter組合鍵結束;

2、選擇b1:b100單元格,輸入=rank(a1,a:a)  按ctrl+enter組合鍵結束,生成100個不重複的隨機整數。

詳見附圖

17樓:媛媛

在工具欄中選載入巨集

新增分析工具基本統計變數等

之後資料選項裡就會有統計描述填加隨即變數

18樓:小李無刀

生成一個整數,然後判斷是不是和前面有重複,如果有重複,重新生成。

19樓:匿名使用者

sub ss()

range("a1:y20").clearfor n = 1 to 500

j = int((n - 1) / 20) + 1doi = int(rnd * 20) + 1loop while cells(i, j) <> ""

cells(i, j) = n

next

end sub

利用Excel生成隨機數,excel怎麼在某一範圍內生成隨機數?

excel隨機數函式 具體步驟如下 1.a1輸入公式 rand 向下填充至1600行 單詞有多少就填充到多少行 2.b1輸入公式 rank a1,a 1 a 1600 向下填充至第50行 b1 b50就輸出一個 1 1600之間的隨機的 50個數字,注意當前 任意一次修改 返回陣列都會變化,所以得到...

ecel如何產生隨機數,EXCEL如何產生隨機數?

excel隨機數函式 我看了你的表,明白你的意思是要生成1 10之間的整數隨機數。但你說要根據已經有的一列數,這我就不明白了。因為無規律的隨機數不應該和已給的隨機數有關。否則又怎麼能稱得上真正的隨機數呢。rand 此函式是生成0 1之間的隨機小數。若要生成a與 b之間的隨機實數,應使用 rand b...

怎麼用c 生成指定隨機數

include include include using namespace std int main srand unsigned time null 初始化時間種子 int ret rand 3 產生 0 1 2 三種隨機數 int real pow 2,ret 2的0次方 1 2的1次方2 ...