開心生活站

位置:首頁 > IT科技 > 

excel中如何才能得到不重複的隨機數

IT科技7.79K

無直接的公式,但可以用間接方法生成 1、A1-A100中用公式生成100個隨機數=RAND() 2、B1輸入=RANK(A1,$A$1:$A$100),一直拉到A100 B1:B100就是100個不重複的隨機數字

excel中如何得到不重複的隨機數?情況下面操作方法。

材料/工具

Excel

方法

啓動Excel

如,要求,1-50個數字隨機不重複分佈在50個單元格里 1、在A1單元格輸入“=IF(ROW()=1,INT(RAND()*50+1),LARGE(IF(COUNTIF(INDIRECT("A1:A"&ROW()-1),ROW($1:$50)),,ROW($1:$50)),INT((51-ROW())*RAND()+1)))”,不要直接回車或點前邊的勾確認,而

excel中如何才能得到不重複的隨機數

按Alt + F11啓動VBA

一、工具 筆記本電腦,office excel軟件 二、方法(以要求1-50個數字隨機不重複分佈在50個單元格中爲例) 1、在A1單元格輸入“=IF(ROW()=1,INT(RAND()*50+1),LARGE(IF(COUNTIF(INDIRECT("A1:A"&ROW()-1),ROW($1:$50)),,ROW($1:$50)),INT((51-ROW(

excel中如何才能得到不重複的隨機數 第2張

選擇要生成隨機數的工作表。

在A2中輸入=rand() 在B2中輸入=rank(A2,A:A,0) 同時向下複製,你要多長的隨機數,就向下複製多少行即可。 如果你要的隨機數起始值不爲1,比如要100到200內的隨機數,就把第二個公式加個基數就行,如: =rank(A2,A:A,0)+99 然後向下複製100行就是了

excel中如何才能得到不重複的隨機數 第3張

輸入以下代碼:

先在A1:A8中輸入相同的公式: =INT(RAND()*15+1) 再在B1中輸入下面公式,並拖動複製到B8格,如果A列中有重複,B列對應的格會顯示大於1的數字,等於1爲不重複。 =COUNTIF($A$1:$A$8,A1) 然後按鍵盤上方的F9功能鍵,直到B列格中都是1,就行了。

Sub m()

如果用公式的話,只需要,在1到481之間生成一個隨機數,後面的數依次加1 但是公式,可能控制不了,重複, 如果不想重複只能用VBA了。

Range("A:A").ClearContents'      這裏是A列,根據需要修改

如果不想增加輔助行的話,那就excel的迭代計算。 excel公式是不允許引用公式自身所在單元格的,但在迭代計算時就得循環引用以達到迭代的目的。 要迭代計算03版在工具>選項>重新計算中選上“迭代計算”,並選擇合適的次數與誤差,次數過大會造成“

For i = 1 To 10'                          這裏是10個數字,根據需要修改

方法一:公式法 1、我們以生成1-10範圍內的隨機數字爲例,講述方法。 首先,在A2單元格中輸入公式:=SMALL(IF(COUNTIF($A$1:A1,ROW($1:$11))=0,ROW($1:$11)),INT(RAND()*(11-ROW(A1))+1)) 然後按下Ctrl+Shift+Enter三鍵結束數組公式。 2、然後,

kkk:

Randomize

A2數組公式,輸入後不要直接回車,要按三鍵 CTRL+SHIFT+回車 下拉。 =SMALL(IF(COUNTIF(A$1:A1,10-ROW($1:$10))=0,10-RO

x = Int(Rnd * 10) + 1

方法一:公式法 1、我們以生成1-10範圍內的隨機數字爲例,講述方法。 首先,在A2單元格中輸入公式:=SMALL(IF(COUNTIF($A$1:A1,ROW($1:$11))=0,ROW($1:$11)),INT(RAND()*(11-ROW(A1))+1)) 然後按下Ctrl+Shift+Enter三鍵結束數組公式。 2、然後,

If Application.CountIf(Range("A:A"), x) = 0 Then

先在選項中打開“啓用迭代循環”,並把最大迭代次數設置到1000或更大。然後選擇A1:10單元格,輸入: =IF(OR(N(ISNUMBER(A1)),COUNTIF($A$1:$A$10,A1)>1),RANDBETWEEN(1,100)) 按Ctrl+Enter。

Cells(i, 1) = x

1、在自己的電腦上打開EXCEL表格 2、首先創立了所需的數據表格,輸入自己的數據 3、將電腦下方EXCEL的sheet修改名字 4、將第一個表格中的數據建立在如圖所示的sheet裏,如第一週,第二週,第三週 5、建立好幾個表格,舉例對這個問題進行輔助說明

Else

GoTo kkk

首先,將你的所有單元格區域定義一個名稱。如:_1 然後,在函數或公式中引用它。 如你所說,先將M14~M27,M41~M58,等等,定義爲一個名稱,這個名稱可以是任意的(除數字),如:_1 然後將你的式子中的M$14:M$27改爲名稱引用"_1",結果如

End If

Next i

End Sub

在A2輸入公式: =SMALL(IF(COUNTIF(A$1:A1,ROW($1:$80)),99,ROW($1:$80)),1+INT(RAND()*(82-ROW(A1)))) 公式以CTRL+SHIFT+ENTER三鍵結束。 將公式向下複製到A21單元格。

excel中如何才能得到不重複的隨機數 第4張

按F5運行,即可得到結果。

難點在不能重複 A2粘貼公式 =SMALL(IF(COUNTIF(C$1:C1,ROW($1:$100)),65536,ROW($1:$100)),ROUNDUP(RAND()*(101-ROW(A1)),)) 粘貼完後不要回車,按ctrl+shift+enter三鍵組合結束 公式下拉即可

excel中如何才能得到不重複的隨機數 第5張

擴展閱讀,以下內容您可能還感興趣。

如何在excel表中生成0到9之間不重複的10個隨機數

A2數組公式,輸入後不要直接回車,要按三鍵  CTRL+SHIFT+回車  下拉。

=SMALL(IF(COUNTIF(A$1:A1,10-ROW($1:$10))=0,10-ROW($1:$10)),INT(RAND()*(10-ROW(A1)))+1)

或者用這公式也行:(此公式輸入後直接回車即可,無需按三鍵)

=SMALL(IF(COUNTIF(A$1:A1,{0;1;2;3;4;5;6;7;8;9})=0,{0;1;2;3;4;5;6;7;8;9}),INT(RAND()*(10-ROW(A1)))+1)

excel如何實現隨機抽取且不重複

方法一:公式法

1、我們以生成1-10範圍內的隨機數字爲例,講述方法。

首先,在A2單元格中輸入公式:=SMALL(IF(COUNTIF($A$1:A1,ROW($1:$11))=0,ROW($1:$11)),INT(RAND()*(11-ROW(A1))+1))

然後按下Ctrl+Shift+Enter三鍵結束數組公式。

2、然後,下拉填充公式到A12單元格,也就是填充11個單元格,爲什麼要填充11個呢,我們明明只要10個數字?這是因爲,最後一個數字是不會變化的,所以呢,要生成10個隨機數,需要填充11個單元格,同樣的生成11個隨機數的話,要填充12個單元格,除此之外,公式中的11還要改成12。

3、生成隨機數後,每按下一次F9(或者其他單元格進行一次計算),隨機數就會刷新一次,重新生成一組隨機數,要注意嘍!

4、好了,一組不重複的隨機數字生成了,現在我們回頭看看這個公式是怎麼實現的吧。首先看Small函數的第一個參數,也就是數字區域,這裏是利用if和Countif函數來實現此單元格上面的單元格區域,是否有當前單元格的數字,如果有,就返回False,而如果沒有就返回這個數字,從而生成一組由上面單元格沒有的數字和Flase組成的序列,下圖是按F9得到的結果:

5、Small函數的第二個參數,也就是從這個序列中取第幾個最小值,在得到的數字中,利用隨機函數rand和row函數,實現在這有個個數中隨機抽取一個數字,從而得到排序中這個數字順序的一個數字。通過這樣一個數組公式,就實現了生成一組不重複的隨機數字啦。

方法二:VBA法

1、VBA功能強大,可以利用很多算法實現隨機數。這裏介紹一種簡單的辦法。首先在Excel中按下Alt+F11,打開VBE界面,雙擊要生成隨機數的工作表,在右側空白處需要輸入代碼。

輸入代碼如下:

Sub m()

Range("A:A").ClearContents'這裏是A列,根據需要修改

For i = 1 To 10'這裏是10個數字,根據需要修改

kkk:

Randomize

x = Int(Rnd * 10) + 1

If Application.CountIf(Range("A:A"), x) = 0 Then

Cells(i, 1) = x

Else

GoTo kkk

End If

Next i

End Sub

2、代碼原理很簡單,就是隨機生成數字,如果A列中有了這個數字,就返回再次隨機生成,一直到沒有這個數字爲止;利用循環生成制定數量的數字。

3、按下F5執行代碼,就看到在對應的Sheet中的對應列,生成了一組隨機的不重複的數字。

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

先在選項中打開“啓用迭代循環”,並把最大迭代次數設置到1000或更大。然後選擇A1:10單元格,輸入:

=IF(OR(N(ISNUMBER(A1)),COUNTIF($A$1:$A$10,A1)>1),RANDBETWEEN(1,100))

按Ctrl+Enter。

Excel如何隨機不重複引用指定範圍內的數值

1、在自己的電腦上打開EXCEL表格

2、首先創立了所需的數據表格,輸入自己的數據

3、將電腦下方EXCEL的sheet修改名字

4、將第一個表格中的數據建立在如圖所示的sheet裏,如第一週,第二週,第三週

5、建立好幾個表格,舉例對這個問題進行輔助說明,內容大概如下。

6、在一個sheet5中表格里,選擇要進行統計的單元格輸入“=”和函數,如此處則是=sum

7、然後點擊“第一週”,工作標籤和相應單元格。

8、選中第一週中的數據,如圖所示

9、輸入“,”後再點擊“第二週”工作表和相應單元格。

10、對數據進行函數公式。對“第三週”,“第四周”工作表進行相同操作。

11、輸入完成後加上")"點擊回車即可算出4個周的總計結果,可以向下拉動這個彙總表在單元格中做相對引用,完成所有單元格的計算。

excel中,隨機數不重複的問題

首先,將你的所有單元格區域定義一個名稱。如:_1

然後,在函數或公式中引用它。

如你所說,先將M14~M27,M41~M58,......等等,定義爲一個名稱,這個名稱可以是任意的(除數字),如:_1

 

 

 

 

 

然後將你的式子中的M$14:M$27改爲名稱引用"_1",結果如下:

=IF(COUNTIF(_1,M14)=1,M14,CHOOSE(RANDBETWEEN(1,3),"A","B",1)&RANDBETWEEN(1,18)&"﹟")

有關名稱的定義,應該不需要我多說吧。

標籤:excel 隨機數