excel怎麼生成總和是100的隨機數(隨機數範圍

時間 2021-06-26 18:06:09

1樓:古藤

用rand()函式/randbetween()函式和簡單公式來生成這5個隨機數即可。具體做法:

一、生成的隨機數含小數

1. 在單元格中輸入=rand(),回車後單元格即可返回一個隨機數字,其範圍大於0小於1。這是生成給定範圍內的隨機數字的基礎。

2. 生成制定範圍的隨機數的公式是:=a+rand()*(b-a),其中a為給定數字最小範圍,b是給定的最大範圍。

要生成大於5小於40的隨機數字,因為(40-5)*rand()返回結果是0到35之間,加上範圍的下限5就返回了5到40之間的數字。

3. 用上數公式生成前2個數,第3個數的上限則要計算後確定,即為40與(100—隨機數1-隨機數2)中的小者。第4個數的上限同樣要計算後確定,即為40與(100—隨機數1-隨機數2-隨機數3)中的小者。

第5個數等於100與其餘四個隨機數的差。

二、生成隨機整數:用randbetween()函式,該函式生成大於等於1小於等於100的隨機整數。語法:

=randbetween(範圍下限整數,範圍上限整數),結果返回包含上下限在內的整數。第1、2個隨機數直接生成,其餘隨機數的生成上限如一之3。

a1=randbetween(5,40)

b1=randbetween(5,40)

c1=randbetween(5,min(40,(100-sum(a1:b1))))

d1=randbetween(5,min(40,(100-sum(a1:c1))))

e1=100-sum(a1:d1)

其實完整的演算法中還要考慮前三個數的和小於等於20(後兩個數必須同為40或有一個要大於40)、前四個數小於60而第5個數要大於40等問題。嚴格的做法是要加入if判斷和條件調整。太複雜了!

2樓:匿名使用者

a1輸入

=round(rand()*35+5,0)回車;a2輸入

=round(rand()*(min(75-sum(a$1:a1)+row()*5,40)-5)+5,0)

回車並向下填充到a3;

a4輸入

=round(rand()*(min(75-sum(a$1:a3)+row()*5,40)-max((60-sum(a$1:a3)),5))+max(60-sum(a$1:

a3),5),0)

回車;a5輸入

=100-sum(a1:a4)

回車。按f9可更新數值。

3樓:匿名使用者

a1:d1都輸入公式:

=randbetween(5,40)

e1輸入公式:

=100-sum(a1:d1)

f1輸入公式:

=and(e1>=5,e1<=40)

每按一次f9鍵,如果f1單元格顯示true,則a1:e1的5個數即所求的。

或選定a1:f1,下拉。

則f列為true的那一行的a列到e列的5個數即所求的。

如何在excel中生成一個在一定範圍內的隨機數

4樓:匿名使用者

=randbetween(10,20)

表示隨機生成10到20之間的整數(適用於excel2007以上版)

5樓:山明智

使用randbetween函式

=randbetween(小數值,大數值)

如果需要小數,可以用rand函式生成一個0到1之間的數,乘以(大數-小數)的差,加上小的數,再保留到自己需要的小數位數就行了

6樓:匿名使用者

=randbetween(a,b)生成介於ab之間的整數隨機數。

7樓:匿名使用者

=randbetween(最小數,最大數)

8樓:樑奕聲卷燕

=rand()

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

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

拓展思路:

=rand()*100

大於等於0但小於100的一個隨機數(帶小數)

9樓:塞寧禰雨

如果你是高版本的excel直接

=randbetween(1,100)

這樣的函式即可生成1到100之間的隨機數

如果你是低版本的就用

=int(1+rand()*99)

這樣的函式來生成

excel如何隨機生成幾個數,且這幾個數的和等於指定的一個數

10樓:

1.首先介紹一下如何用rand()函式來生成隨機數(同時返回多個值時是不重複的)。

如下圖所示,在單元格中輸入=rand(),回車後單元格即返回了一個隨機數字。

2.rand()函式返回的隨機數字的範圍是大於0小於1。因此,也可以用它做基礎來生成給定範圍內的隨機數字。

3.生成制定範圍的隨機數方法是這樣的,假設給定數字範圍最小是a,最大是b,公式是:

=a+rand()*(b-a)。

舉例來說,要生成大於60小於100的隨機數字,因為(100-60)*rand()返回結果是0到40之間,加上範圍的下限60就返回了60到100之間的數字。

4.上面rand()函式返回的0到1之間的隨機小數,如果要生成隨機整數的話就需要用randbetween()函式了,如下圖該函式生成大於等於1小於等於100的隨機整數。

這個函式的語法是這樣的:=randbetween(範圍下限整數,範圍上限整數),結果返回包含上下限在內的整數。注意:上限和下限也可以不是整數,並且可以是負數。

5.rand()和randbetween()是生成隨機數的基礎函式,也可以靈活變通。比如說要生成0.01至1之間包含兩位小數的隨機數,則可用下圖的公式實現:

11樓:綠衣人敲門

首先計算這個範圍的差值。這裡假設範圍值為50~100之內的隨機數開啟電子**,在所需要產隨機數的單元格內輸入如下公式:=rand()*(100-50)+50。

按確認鍵就可以生成在規定範圍內的隨機數了。

如果需要生成多個隨機數,那拖動單元格最下角小三角就可以啦。

12樓:水溫零下三度

lz 我利用rand()公式來實現。公式及顯示結果如下圖。

公式基於隨機數生成函式rand(),在0到1之間生成一個數字,floor()向下取整函式保證不會一次取滿100的值。

公式缺陷:

第一:會出現相同數字情況。

第二:有0值出現

13樓:匿名使用者

這個要vba嗎?在4個單元裡輸入=round(rand()*100/4,0),在另一個單元裡輸=100-sum(b2:e2),就滿足要求了

14樓:森林浴

sub aa()

for i = 1 to 4

cells(i, 1).formula = "=rounddown(rand() *(28-15)+15,0)"

next

cells(5, 1) = "=100-sum(a1:a4)"

end sub

這樣行不

15樓:匿名使用者

請試用以下**,m1的值用於設定數值範圍寬度,sum1用於設定指定和值,shu用於設定隨機數的數量;將**直接貼上到vba中即可執行。如有問題請反饋!

sub 巨集1()

dim sum1, m1 as double

dim shu as integer

sum1 = 100 '設定和值

m1 = 8 '設定資料寬度(最大-最小)

shu = 10 '設定資料個數

k = suiji(sum1, m1, shu)

end sub

function suiji(sum1, m1 as double, shu as integer)

dim r(), i, k, s, m2 as double

redim preserve r(shu)

if m1 <= 0 then end '判定m1值是否合理

m2 = (sum1 - m1 / 2 * shu) / shu

for i = 1 to shu - 1 '設定迴圈次數,用於取4個隨機數

r(i) = m2 + m1 * rnd() '設定一個隨機數值,範圍0-100

for k = 1 to i '用於測試是否有重複數值,如沒有必要可以去掉中間的if語句

s = s + r(k)

if r(i) = r(k) and i <> k then

i = i - 1

exit for

end if

next k

if s > sum1 then '判定是否超出指定和值

i = i - 1

goto dd

end if

if i > 1 then '用於測試前i個數值的和是否超標,如果超出就重新給最後一個數賦隨機值

kk = (m2 + m1) * (shu - i)

kf = m2 * (shu - i)

tt = sum1 - s

if tt >= kk or tt <= kf then

i = i - 1

goto dd

end if

end if

if i = shu - 1 then '給最後一個數賦值,並檢視是否與前面數值重複,如可以重複就去掉這個if和endif

r(shu) = sum1 - s

for k = 1 to shu - 1

if r(shu) < m2 or r(shu) = r(k) then '如果有與前值有重複的就重新給第shu-1數賦值

i = i - 1

goto dd

end if

next k

end if

dd: s = 0

if i >= 1 then cells(i, 1) = r(i) '如果i值有效給單元格進行賦值

next i

cells(shu, 1) = r(shu)

end function

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

16樓:低調額低調額

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

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

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

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

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

擴充套件資料

17樓:匿名使用者

excel隨機數函式

18樓: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不區分函式的大小寫)

如何讓excel生成隨機數,excel怎麼在某一範圍內生成隨機數?

千秋遐想 excel隨機數函式 洋老師辦公教程 首先輸入等於randbetween 函式,然後輸入需要生成的欄位,在輸入需要結束的欄位,按回車確定,在填充公式,這樣就能批量生成隨機數字。 公式上有如下兩種 1 rand 無引數。生成0 1間的隨機數。該種操作如果想實現 a,b 之間的隨機數,則使用公...

Excel怎麼根據日期規則自動生成表

比如要生成2015年1月1日起的日期,則可以在單元格寫入公式 date 2015,1,row a1 再下拉填充形成日期序列 date 返回代表特定日期的序列號。如果在輸入函式前,單元格格式為 常規 則結果將設為日期格式。語法date year,month,day year 引數 year 可以為一到...

年數總和法是怎麼計提折舊的,年數總和法計提折舊公式 15是什麼意思

假面 年數總和法 年折舊額 折舊基數 逐年遞減的折舊率 原值 預計淨殘值 尚可使用的年限 1 2 n 舉一個簡單的例子吧 2007年12月,長江公司購入一臺裝置,當月投入使用。該裝置的原值為158000元,預計使用年限為5年,預計淨殘值為8000元。第一年年折舊額 158000 8000 5 1 2...