EXCEL如何將數字分成多個隨機數字?隨機數字之和等於總數

2021-05-02 22:10:17 字數 5488 閱讀 8509

1樓:小文

隨機數字之和等於總數:你可以在另一單元格輸入=sum(b1:b25)做檢驗

excel中大量的公式函式可以應用選擇,使用microsoft excel可以執行計算,分析資訊並管理電子**或網頁中的資料資訊列表與資料資料圖表製作,可以實現許多方便的功能,帶給使用者方便。

2樓:匿名使用者

第一步:a1輸入100

第二步:b1至b25 分別輸入rand()函式,得出25個隨機數第三步:b26=sum(b1:b25)

第四步:c1輸入b1/b26 得出b1佔b26的比率,依次往下填充至c25,分別得出b列佔b26的比率

第五步:在d列 用a1分別乘以c列的相應比率即可得出。

3樓:

比如要求生成60-100的6個隨機數,總和為450第一行不要填寫任何數字

a2=randbetween(max(60,450-sum(a1:a$1)-100*(6-row(a1))),min(100,450-sum(a1:a$1)-60*(6-row(a1))))

下拉至a7

4樓:匿名使用者

咦!怎麼沒有看到有這提問的?

之前剛剛回答過類似問題:

修改一下,還行。

假設,「一個數字」在a1。「分成25個隨機數字」(就設定為整數吧):

b1輸入

=round(rand()*(a$1-25)+1,0)回車;

b2輸入

=round(rand()*(a$1-sum(b$1:b1)+row(a1)-25)+1,0)

回車並向下填充至b24;

b25輸入

=a1-sum(b1:b24)回車。

公式採用隨機函式,可按f2+enter更新運算結果!

(隨機數字之和等於總數:你可以在另一單元格輸入=sum(b1:b25)做檢驗)

5樓:匿名使用者

這題有點難度,給你個思路,

使用rnd()函式,每次迴圈rnd()會產生一個0~1之間的隨機數,本例中:25個數可以相同,如果想不通,在加一個迴圈判斷;另外本例中25個數可以有0。如果不想可以再加判斷。

希望能幫到你。

如果不用vba,excel函式為:rand()**如下:

private sub commandbutton1_click()dim n as integer

dim total as integer

dim m as integer

for n = 1 to 25

m = 100 * rnd()

if m < 1 then

m = 1

else

m = cint(m)

end if

if total + m > 100 thenm = 0

end if

cells(1, n) = m

if n = 25 then

cells(1, n) = 100 - totalend if

total = total + m

next n

end sub

excel如何將一個數字分成多個隨機數字,隨機數字之和等於數。比如總數20隨機分成7份,要兩位小數。 5

6樓:匿名使用者

首先需要啟用迭代計算 ,excel 選項  --公式 --啟用迭代運算   次數可以多設一點,比如30000次

a1 輸入公式:

=if(sum(a$1:a$7)=20,a1,randbetween(1,2000)/100)

公式下拉 ,  生成的是 靜態的 隨機結果需要重新生成 重新下拉

excel,把一個數隨機分成多分,隨機數的總和等於總數。

7樓:匿名使用者

不知道份數是否固定,下例為把一個數隨機分為4份:

8樓:深圳市勵拓軟體****

修改一下,還行。

假設,「一個數字」在a1。「分成25個隨機數字」(就設定為整數吧):

b1輸入

=round(rand()*(a$1-25)+1,0)回車;

b2輸入

=round(rand()*(a$1-sum(b$1:b1)+row(a1)-25)+1,0)

回車並向下填充至b24;

b25輸入

=a1-sum(b1:b24)回車。

公式採用隨機函式,可按f2+enter更新運算結果!

(隨機數字之和等於總數:你可以在另一單元格輸入=sum(b1:b25)做檢驗)

excel如何將一個數字分成多個隨機數字?隨機數字之和等於總數?

9樓:小文

隨機數字之和等於總數:你可以在另一單元格輸入=sum(b1:b25)做檢驗

excel中大量的公式函式可以應用選擇,使用microsoft excel可以執行計算,分析資訊並管理電子**或網頁中的資料資訊列表與資料資料圖表製作,可以實現許多方便的功能,帶給使用者方便。

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如何將1列分成3列,如何將excel的列內容進行互換

假設資料寫在copya列 則b1單元格寫入公式 index a a,column a1 row a1 3 3 或 offset a 1,column a1 row a1 3 4,再或 右拉填充公式至d1單元格,再下拉填充公式 用excel的 資料 分列就可以 如何將excel的列內容進行互換 所需要...

如何將多個pdf合成pdf,如何將多個pdf合成一個pdf

用下面的方法可以把多個pdf合併成一個pdf檔案。方法一 1 執行aaobe acrobat 然後點選 建立 合併檔案到單個pdf 或者點選 建立 右側的 合併 合併檔案到單個pdf 2 彈出 合併檔案 的介面,點選 新增檔案 選擇 新增檔案 新增資料夾 重新使用檔案 來進行新增要合併的pdf檔案。...

excel中如何將多個名字,《有些名字是重複的》彙總在一起

a 30 a 2 a 30 1,row a 2 a 30 row 1 1 1 按ctrl shift 回車,使用組公式 在sheet2a列用index函式寫公式 在excel中,怎樣合併重複名稱的數量 源資料 a 2b 2 c 4d 3 a 5結果 a 7b 2 c 4d 3 如果您要的是這樣一個處...