1樓:退休畫線工
因為隨機數函式是一個易失性函式,所以正如題主所說,生成的隨機數會在每次開啟檔案時重新生成。其實,不只是開啟檔案時,而是工作表中有任何操作,如輸入資料後按回車鍵確定、篩選、排序按f9重新計算等,隨機數都會重新生成。
要使隨機函式生成的隨機數不再發生變化,必須在公式中設定單元格在一定的條件下等於單元格本身,這就必須開啟excel的迭代計算(即excel的迴圈引用)。所以要達到題主的目的,需要按如下步驟來做:
在選項的公式選項卡中,把「啟用迭代計算」打上對勾後確定,以啟用迭代。
假設需要生成的隨機數在1~10之間,在b2中輸入公式:
=if($a1=""," ",if(column()-1>$a1,"",if(b2=" ",randbetween(1,10),b2)))
右拉到若干個單元格(單元格個數大於或等於a1中可能輸入的最大數字)
現在因為a1中沒有輸入內容,第1個if為真,輸入公式的單元格顯示為空(注意空是一個空格——英文雙引號中輸入了一空格)
當在a1中輸入數字時,第1個if條件為假,則執行第2個if,假設輸入的數字是5,在b2~f2(不是題主所說的e2)中,第2個if為假,執行第3個if。顯然第3個if為真空,因為原來已賦值一個空格,於是生成一個1~10的隨機數字;而在g2以後的單元格中,因為前面的數字個數已與a1相同,列數字-1後大於a1,所第3個if條件為真,取空值(雙引號中沒內容——單元格顯示為沒空格的空)。
再來分析b2單元格,當工作表中有操作時,易失性函式會發生變化,但公式中第3個if的條件為假——b2單元格已有數字,不是一個空格,所取第3引數,即取b2值——也就是已取得的隨機數——不再變化。這個b2是引用單元格本身——這就是excel中的迴圈引用——所以輸入公式前要進行步驟1的設定——啟用迭代計算。c2~f2所有已取得的數字的單元格同樣不再發生變化。
要重新生成隨機數時,只要刪除a1中的內容,使第2行填充了公式的單元格重新初始化——取得一個空格,再在a1中輸入新的數字即可。
2樓:雲南新華電腦學校
1、開啟excel,假設要生成指定範圍最小值a至指定範圍最大值b之間的隨機數,利用的公式原理是:rand()*(b-a)+a。
2、以「a=2,b=10」為例隨機生成2至10之間的隨機數,選中單元格,鍵入「rand()*(10-2)+2」。
3、之後按回車鍵即可。rand函式每次生成的都是隨機數,通過上述方法即可生成指定範圍的隨機數。
3樓:匿名使用者
用rand()函式可實現0到1之間的隨機小數,如果要生成隨機整數的話就需要用randbetween()函式,格式為:randbetween(1,100):生成1到100的隨機整數。
如果還要知道其它的,你可以查下這二個函式的具體用法,希望你幫到你。
4樓:oppo手機
rand()會產生0~1之間的隨機小數。小數位數有15位之多。
randbetween(上值,下值)會產生有上值和下值之間的隨機整數。
按f9鍵可以刷心。
5樓:雲南新華電腦學校
1、excel中可以利用randbetween函式生成指定範圍內的隨機整數,如下圖所示,在b1:b4中生成1到100內的隨機數字,選擇區域,輸入公式。
2、按下ctrl+enter結束輸入,得到隨機數字。
3、按下f9,隨機數字會重新整理。
4、如果要生成隨機小數,可以考慮在randbetween後面除以10的倍數。
5、得到結果,f9可以重新整理數字。
望採納,謝謝!
6樓:匿名使用者
拖拉多大區域就有多少個
excel怎麼在某一範圍內生成隨機數?
7樓:低調額低調額
1、excel中可以利用randbetween函式生成指定範圍內的隨機整數,如下圖所示,在b1:b4中生成1到100內的隨機數字,選擇區域,輸入公式如下:
2、按下ctrl+enter結束輸入,得到隨機數字如下所示:
3、按下f9,隨機數字會重新整理,如下圖所示:
4、如果要生成隨機小數,可以考慮在randbetween後面除以10的倍數,如下圖所示生成10到100之間的包含兩位小數的隨機數字:
5、得到結果如下圖所示,f9可以重新整理數字:
擴充套件資料
8樓:匿名使用者
excel隨機數函式
9樓: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不區分函式的大小寫)
10樓:匿名使用者
=rand()
生成0-1之間的隨機數(小數,包含0不包含1)=randbetween(1,10)
生成1-10之間(包含1和10,數字可以自己修改為自己要的範圍)的隨機數(整數)。
拓展思路:
=rand()*100 大於等於0但小於100的一個隨機數(帶小數)
11樓:難堪
開啟excel,在excel單元格類輸入函式=rand(),按enter鍵後,就得到0-1之間的一個隨機數。
在excel單元格類輸入函式=randbetween(),填入區間上下限,例如1-100,按enter鍵後,就得到,1-100之間的一個隨機數。
12樓:本本經銷商
可以直接使用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
13樓:匿名使用者
產生-10到5之間的整數:=randbetween(-10,5) 產生-10到5之間的任意實數:=15*rand()-10
14樓:匿名使用者
就是專業帶出問題,裡邊是是指代數生成了基礎。
15樓:匿名使用者
兄弟:非常簡單用到rnd函式留下郵箱發給你可用vba編寫或直接資料rnd函式.
16樓:溜到被人舔
其實關鍵就是一個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如何隨機生成幾個數,且這幾個數的和等於指定的一個數
17樓:
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之間包含兩位小數的隨機數,則可用下圖的公式實現:
18樓:綠衣人敲門
首先計算這個範圍的差值。這裡假設範圍值為50~100之內的隨機數開啟電子**,在所需要產隨機數的單元格內輸入如下公式:=rand()*(100-50)+50。
按確認鍵就可以生成在規定範圍內的隨機數了。
如果需要生成多個隨機數,那拖動單元格最下角小三角就可以啦。
如何用excel中滿足條件的資料,自動生成個新表
後麗澤頻柏 在表2的目標單元格輸入公式 1 sumproduct 表1 a2 a7 財務 表1 b2 b7 二級 表1 d2 d7 2 sumproduct 表1 a2 a7 財務 表1 b2 b7 一級 表1 b2 b7 二級 表1 e2 e7 請按實際的區域範圍修改公式 你的放款時間是哪一列?h...
如何使excel中rand生成的數不再變化
簡淨軒語 rand函式,返回大於等於0小於1的均勻分佈的隨機實數。每次計算工作表,可以得到一個新的隨機實數。若使生成的隨機實數不在變化,可以將公式複製貼上為值。示例 如圖,d列區域是隨機實數,複製改區域,在空白的區域貼上為值,可以使數值不在變化。 使用這一函式生成的資料,每開啟一次 即會自動變化一次...
excel中如何生成不重複的多個隨機數
先在a1 a8中輸入相同的公式 int rand 15 1 再在b1中輸入下面公式,並拖動複製到b8格,如果a列中有重複,b列對應的格會顯示大於1的數字,等於1為不重複。countif a 1 a 8,a1 然後按鍵盤上方的f9功能鍵,直到b列格中都是1,就行了。 一種思路是,先 生成1 15間的一...