在EXCEL中生成隨機數的問題,excel怎麼在某一範圍內生成隨機數?

時間 2022-03-29 04:45:09

1樓:匿名使用者

作輔助列,h列:

選定h1:h50,輸入

=randbetween(1000,9999)按ctrl+enter

選定h51:h150,輸入

=randbetween(10000,99999)按ctrl+enter

選定h151:h250,輸入

=randbetween(100000,999999)按ctrl+enter

選定h251:h350,輸入

=randbetween(1000000,9999999)按ctrl+enter

選定h351:h450,輸入

=randbetween(10000000,99999999)按ctrl+enter

選定h451:h500,輸入

=randbetween(100000000,999999999)按ctrl+enter

這樣在h1:h500生成50個4位數、100個5位數、100個6位數、100個7位數、100個8位數、50個9位數,而且500個數字是隨機數。

作輔助列,f列:

選定f1:f500

=rand()

按ctrl+enter

作輔助列,g列:

選定g1:g500

=rank(f1,$f$1:$f$500,1)按ctrl+enter

這樣在g1:g500隨機地生成1到500的不重複數。

在a1輸入公式:

=vlookup((column()-1)*100+row(),$g:$h,2,false)

右拉至e1,再下拉至第100行。

2樓:匿名使用者

按alt + f11新增下面巨集,並按f5執行後得要的結果

sub hehaoping()

dim mydata(1 to 500)

dim weizhi(1 to 500)

randomize

for i = 1 to 50

mydata(i) = int(rnd() * 8999) + 1000

next i

for i = 51 to 150

mydata(i) = int(rnd() * 89999) + 10000

next i

for i = 151 to 250

mydata(i) = int(rnd() * 899999) + 100000

next i

for i = 251 to 350

mydata(i) = int(rnd() * 8999999) + 1000000

next i

for i = 351 to 450

mydata(i) = int(rnd() * 89999999) + 10000000

next i

for i = 451 to 500

mydata(i) = int(rnd() * 899999999) + 100000000

next i

for i = 1 to 500

while weizhi(i) = 0

n = int(rnd() * 500) + 1

if (mydata(n) <> 0) then

weizhi(i) = mydata(n)

mydata(n) = 0

end if

wend

next i

for i = 1 to 100

range("a" & i).value = weizhi(i)

range("b" & i).value = weizhi(i + 100)

range("c" & i).value = weizhi(i + 200)

range("d" & i).value = weizhi(i + 300)

range("e" & i).value = weizhi(i + 400)

next i

end sub

3樓:匿名使用者

看來得學習vba了

單個的隨機數還可以,加了這麼多的條件,唉

4樓:匿名使用者

用rand()函式可以實現隨機產生乙個0~1之間的小數 但是位置也是隨機的就不好辦了

5樓:洋老師辦公教程

首先輸入等於randbetween 函式,然後輸入需要生成的字段,在輸入需要結束的字段,按回車確定,在填充公式,這樣就能批量生成隨機數字。

用=rand()命令在excel中生成一系列隨機數之後為什麼數值會不斷變化?怎麼才能讓其數值不變化?

6樓:小丁創業

用=rand()命令在excel中生成一

來系列源隨機數之後數值bai會不斷變化,是du因為函式都會在改變乙個單元zhi格之後重算。

dao解決的方法和詳細的操作步驟如下:

1、第一步,開啟要處理的文件,如下圖所示,然後進入下一步。

2、其次,完成上述步驟後,選擇不存在由rand函式生成的隨機數的單元格,並按鍵盤上的「ctrl + c」進行複製,如下圖所示,然後進入下一步。

3、接著,完成上述步驟後,單擊滑鼠右鍵,然後在貼上選項中選擇「數值」選項,如下圖所示,然後進入下一步。

4、最後,完成上述步驟後,返回到excel表,發現rand函式生成的隨機數不再通過f9或重新開啟表而改變,如下圖所示。這樣,問題就解決了。

7樓:匿名使用者

要麼將選擇性貼上數值到其它單元格,要麼到「工具」——〉「選項」——〉「重新計算」中把自動運算取消,這時,只要你不編輯公式單元格,結果就一直不變,

8樓:天南地北公路人

不斷變化,是因為函式都會在你改變乙個單元格之後重算想要不變,可在

工具--選項--重新計算中設定成手動重算,勾掉儲存前重算想要重新計算,就開啟這個,點選重新計算活動工作文件或者按f9重新計算

9樓:山桑弓

辦法可以這樣,選中這些單元格,複製,到想貼上的地方點選,選擇性貼上,數值,確定,就可以把生成的數值固定下來了。

excel怎麼在某一範圍內生成隨機數?

10樓:低調額低調額

1、excel中可以利用randbetween函式生成指定範圍內的隨機整數,如下圖所示,在b1:b4中生成1到100內的隨機數字,選擇區域,輸入公式如下:

2、按下ctrl+enter結束輸入,得到隨機數字如下所示:

3、按下f9,隨機數字會重新整理,如下圖所示:

4、如果要生成隨機小數,可以考慮在randbetween後面除以10的倍數,如下圖所示生成10到100之間的包含兩位小數的隨機數字:

5、得到結果如下圖所示,f9可以重新整理數字:

擴充套件資料

11樓:匿名使用者

excel隨機數函式

12樓:solo獨行者

那個標準答案不夠6,我來個通用的方法,大家可以舉一反三

其實關鍵就是乙個rand()函式,用它生成0-1的隨機數(帶小數),然後就可以起飛了:

比如要0-5之間的隨機數,那就是=rand()*5,要0-10就是=rand()*10;

要1-5,那就再加乙個加法,=rand()*4+1,要1-10就=rand()*9+1;

如果要求是整數,其實可以不用randbetween,用round(rand(),0),比如整數1-5,可以=round(rand()*4+1,0)

下面有個人希望得到正5到正10以及負5到負10的,也有辦法,可以=round((randbetween(1,2)*2-3)*(rand()*5+5),0)(我直接從我excel裡複製的,所以就大寫了,excel不區分函式的大小寫)

13樓:匿名使用者

=rand()

生成0-1之間的隨機數(小數,包含0不包含1)=randbetween(1,10)

生成1-10之間(包含1和10,數字可以自己修改為自己要的範圍)的隨機數(整數)。

拓展思路:

=rand()*100 大於等於0但小於100的乙個隨機數(帶小數)

14樓:難堪

開啟excel,在excel單元格類輸入函式=rand(),按enter鍵後,就得到0-1之間的乙個隨機數。

在excel單元格類輸入函式=randbetween(),填入區間上下限,例如1-100,按enter鍵後,就得到,1-100之間的乙個隨機數。

15樓:本本經銷商

可以直接使用randbetween函式生成一定範圍內的隨機數。

可以使用rand函結合其他函式來生成一定範圍內的隨機數。

randbetween【語法】

randbetween(bottom,top)

bottom引數: randbetween將返回的最小整數。

top引數: randbetween將返回的最大整數。

示例:=randbetween(1,100)

大於等於1小於等於100的乙個隨機整數(變數)

=randbetween(-1,1)

大於等於-1小於等於1的乙個隨機整數(變數)

注意:randbetween函式只會生成隨機整數。如需要隨機小數可結合rand函式來使用。

2003版以上的excel中,直接在單元格輸入=rand()

得到大於等於0,小於1的隨機數

其他生成方法示例:

生成a與b之間的隨機數字(a≤隨機數在第乙個格仔中輸入:=rand()*(b-a)+a

如,生成1到10之間的隨機數字,輸入:=rand()*9+1

其餘數字,將滑鼠置於該格仔右下角,變為十字時,向下拖拉即可。

生成a與b之間的隨機整數(a≤隨機數在第乙個格仔中輸入:=int(rand()*(b-a)+a)

如,生成1到10之間的隨機整數,輸入:=int(rand()*9+1)

其餘數字,將滑鼠置於該格仔右下角,變為十字時,向下拖拉即可。

生成a與b之間的隨機數字(a≤隨機數≤b)

在第乙個格仔中輸入:=rand()*(b-a+1)+a

如,生成1到100的隨機數字,輸入:=rand()*100+1

16樓:匿名使用者

產生-10到5之間的整數:=randbetween(-10,5) 產生-10到5之間的任意實數:=15*rand()-10

17樓:匿名使用者

就是專業帶出問題,裡邊是是指代數生成了基礎。

18樓:匿名使用者

兄弟:非常簡單用到rnd函式留下郵箱發給你可用vba編寫或直接資料rnd函式.

19樓:溜到被人舔

其實關鍵就是乙個rand()函式,用它生成0-1的隨機數(帶小數),然後就可以起飛了:

比如要0-5之間的隨機數,那就是=rand()*5,要0-10就是=rand()*10;

要1-5,那就再加乙個加法,=rand()*4+1,要1-10就=rand()*9+1;

如果要求是整數,其實可以不用randbetween,用round(rand(),0),比如整數1-5,可以=round(rand()*4+1,0)

下面有個人希望得到正5到正10以及負5到負10的,也有辦法,可以=round((randbetween(1,2)*2-3)*(rand()*5+5),0)(我直接從我excel裡複製的,所以就大寫了,excel不區分函式的大小寫)

c 中生成隨機數時的種子問題,關於C 的隨機數的種子的設定問題

上上西 先糾正一下錯誤,是srand unsigned int time 0 srand的形參是unsigned int型別的 這句話只要寫一次,一般情況下只能寫一次 隨機數是隨機的數,但計算機不可能產生隨機數,計算機根據你的輸入,再跟一個演算法就產生一個特定的序列.只要你給計算機一個相同的數,計算...

Php中生成6位隨機數並顯示

莫道無情 php中生成6位隨機數並顯示實現如下 1 使用shuffle函式生成隨機數。arr range 100000,999999 shuffle arr foreach arr as values echo values.顯示隨機數?2 使用array unique函式生成隨機數。arr arr...

excel中如何生成不重複的多個隨機數

先在a1 a8中輸入相同的公式 int rand 15 1 再在b1中輸入下面公式,並拖動複製到b8格,如果a列中有重複,b列對應的格會顯示大於1的數字,等於1為不重複。countif a 1 a 8,a1 然後按鍵盤上方的f9功能鍵,直到b列格中都是1,就行了。 一種思路是,先 生成1 15間的一...