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題庫如何隨機篩選選指定數量的題目
來自朱家尖積極進取的大平原狼 是每章隨機抽5道題嗎?假定原資料在abc三列中,在e1輸入 第一章題號 在f1輸入 第二章題號 在g1輸入 第三章題號 然後在e2單元格輸入公式 small if countif e 1 e1,row 1 30 99,row 1 30 1 int rand 32 row...
如何在EXCEL中輸入指定數字,然後用公式做出為一組的隨機數字組合
9個數字放在a1 a9,共有234個不同的組合,用vba可求出全部不重複的各可能結果,放在b在b1開始 sub 巨集1 l 1 for i 1 to 7 for j 2 to 8 for k 3 to 9 if not i j or i k or j k then cells l,2 cells i...
如何合併兩個excel中的指定資料?如何讓excel視窗同時在前臺顯示
比如第一個檔案的工作表a列為姓名,b列為學號。你在b2輸入 vlookup a2,c documents and settings feiqiang 桌面 book1.xls sheet1 m n,2,false 以上c documents and settings feiqiang 桌面 為檔案二...