EXCEL有沒有函式可以讓數字段的數字隨機變化,例如47到59之間過一小會就隨機換個數字

時間 2022-08-23 01:30:03

1樓:

按alt+f11開啟vba編輯器,輸入如下**:

sub 隨機變化隨機數()

dim delay1, start, i as integerfor i = 1 to 10

delay1 = 1

start = timer

do while timer < start + delay1loop

range("a1") = int((59 - 47) * rnd() + 47)

next

end sub

其中,**delay1=1表示延時時間,間隔為1秒,也就是1秒後重新整理一次資料,**for i = 1 to 10表示重新整理次數10次,**range("a1") = int((59 - 47) * rnd() + 47)表示將47~59之間的隨機數輸入到a1單元格,**輸入完後,將巨集安全性設為中,開啟文件時啟用巨集,執行巨集「隨機變化隨機數」即可達到目的。要想修改重新整理次數和時間以及存放單元格只要修改相應引數即可。

2樓:匿名使用者

=int(rand()*12+47)

每動一下單元格就會變化一次

3樓:

在單元格中輸入

=int(rand()*13+47)

excel生成一列隨機數 5

4樓:匿名使用者

excel隨機數函式

5樓:卸下偽裝忘勒傷

excel可以使用randbetween函式生成bai一列隨機du數zhi。

1、點選需要生成隨機數的控制代碼,在頂dao部點選函式工具圖內標:

2、在函式中找到randbetween函式並容選中這個函式,然後點選「確定」按鈕:

3、在視窗中輸入隨機數最小的值和最大的值,注意這裡只能填寫整數:

4、如果需要生成小數,可以在函式後方乘以小數,例如生成0-1之間小數可以在後面新增「*0.01」:

5、這時單元格就會生成一個小數,向下拖動單元格操作柄可以生成一列隨機數:

6樓:匿名使用者

生成一列限來定了大小的隨機數,比如源生成0-0.01之間的隨機數的步驟是:

1、開啟excel工作表;

2、在左上角的名稱框中,輸入生成隨機數的區域,比如:a1:a100  按enter鍵後,將a1:a100單元格區域處於選擇狀態;

3、輸入以下公式,按ctrl+enter組合鍵結束

=randbetween(1,100)/10000

公式表示:通過randbetween(1,100)生成1-100之間的隨機數,然後除以10000,得到0-0.01之間的隨機數。

4、如果excel為2003以下版本,將不支援randbetween函式的使用,如果需要限定小數點的位數為4位,將公式修改為=round(rand()/100,4)

7樓:匿名使用者

=rand()即可產生0到1內的隨機數

如果想產生a到b內的隨機專數,可

以加上引數

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

0到0.01的隨機數就是=0.01*rand()剩下來的數屬用填充控制代碼填充就行

要注意的是,每次修改**,所以隨機數會重新變化如果想固定隨機數,需要複製後,用選擇性貼上數值

8樓:匿名使用者

在列的開頭處輸入=rand(),便會產生一個介於0到小於1的隨機數。想要在某一範圍內,

如在a和b數值版範圍內,公式則為=rand()*(b-a)+a。把權此公式複製到列的其餘位置便成。若不想每次開啟都變動的隨機數,那在不想變動的單元格或範圍內的單元格按f9,那隨機數就會固定下來。

excel數值隨機變化函式

9樓:匿名使用者

在b1單元格輸入公式=a1-004-0.2*rand()然後下拉複製即可

樓上生成的是在a列基礎上-0.6~-0.8之間隨機生成相關函式解釋:

rand( )

若要生成 a 與 b 之間的隨機實數,請使用:

rand()*(b-a)+a

如果要使用函式 rand 生成一隨機數,並且使之不隨單元格計算而改變,可以在編輯欄中輸入「=rand()」,保持編輯狀態,然後按 f9,將公式永久性地改為隨機數。

10樓:匿名使用者

在b1中輸入:=a1-0.4-0.2*rand()然後選擇b1向右填充公式

rand

請參閱返回大於等於 0 及小於 1 的均勻分佈隨機數,每次計算工作表時都將返回一個新的數值。

語法rand( )

說明若要生成 a 與 b 之間的隨機實數,請使用:

rand()*(b-a)+a

如果要使用函式 rand 生成一隨機數,並且使之不隨單元格計算而改變,可以在編輯欄中輸入「=rand()」,保持編輯狀態,然後按 f9,將公式永久性地改為隨機數。

11樓:

excel隨機函式例項

2010-01-18 下午 04:10

excel中如何隨機選擇不重複的數:

excel中帶有一個隨機函式rand(),但rand()只選取0~1之間的隨機數,而且兩個數不保證不重複。因此就用到了函式rank。

1、假設要在1~100中隨機抽取5個不重複的數。

2、在a1~a100中輸入=rand()。

;也就是在a1~a100中隨機抽取了100個0~1之間的隨機數。

3、在c1中輸入=rank(a1,a:a);c2中輸入=rank(a2,a:a);c3中輸入=rank(a3,a:a)……以此類推。

;目標單元格c1~c5。

;其實,c1~c5中顯示的是a1~a5在100個隨機數中的排序。

4、已成功抽取1~100中的5個隨機數。按ctrl+r重新整理。

1、生成隨機數字

(1)生成隨機數比較簡單,=rand()即可生成0-1之間的隨機數;

(2)如果要是整數,就用=int(rand())*10,表示0至9的整數,以此類推;

(3)如果要生成a與b之間的隨機實數,就用=rand()*(b-a)+a,如果是要整數就用=int(rand()*(b-a))+a;稍微擴充一下,就能產生固定位數的整數了。

注意:如果要使用函式rand()生成一隨機數,並且使之不隨單元格計算而改變,可以在編輯欄中輸入「=rand()」,保持編輯狀態,然後按f9,將公式永久性地改為隨機數。不過,這樣只能一個一個的永久性更改,如果數字比較多,也可以全部選擇之後,另外選擇一個合適的位置貼上,貼上的方法是點選右鍵,選擇「選擇性貼上」,然後選擇「數值」,即可將之前複製的隨機數公式產生的數值(而不是公式)複製下來!

2、產生隨機字母

隨機小寫字母:=char(int(rand()*26)+97)

隨機大寫字母:=char(int(rand()*26)+65)

隨機大小寫混合字母:=char(int(rand()*26)+if(int(rand()*2)=0,65,97))

3、產生隨機的六位數的字母和數字混合

=concatenate(if(int(rand()*2)=0,char(int(rand()*9+48)),if(int(rand()*2)=0,char(int(rand()*25+65)),char(int(rand()*25+97)))),if(int(rand()*2)=0,char(int(rand()*9+48)),if(int(rand()*2)=0,char(int(rand()*25+65)),char(int(rand()*25+97)))),if(int(rand()*2)=0,char(int(rand()*9+48)),if(int(rand()*2)=0,char(int(rand()*25+65)),char(int(rand()*25+97)))),if(int(rand()*2)=0,char(int(rand()*9+48)),if(int(rand()*2)=0,char(int(rand()*25+65)),char(int(rand()*25+97)))),if(int(rand()*2)=0,char(int(rand()*9+48)),if(int(rand()*2)=0,char(int(rand()*25+65)),char(int(rand()*25+97)))),if(int(rand()*2)=0,char(int(rand()*9+48)),if(int(rand()*2)=0,char(int(rand()*25+65)),char(int(rand()*25+97)))))

4、隨機不重複數字序列的生成方法

有些情形下,我們需要生成一個不重複的隨機序列。

比如:我們要模擬洗牌,將一副撲克牌去掉大小怪後剩下的52張打亂。

比較笨的方法是在1-52間每生成一個隨機數後,檢查該隨機數是否出現過,如果是第一次出現,就放到序列裡,否則重新生成一個隨機數作檢查。在 excel worksheet裡面用這種辦法,會造成if多層巢狀,不勝其煩,在vba裡面做簡單一些,但是效率太差,越到序列的後端,效率越差。

當然也有比較好的辦法,在vba裡面,將a(1)-a(52)分別賦予1-52,然後做52次迴圈,例如,第s次生成一個1-52間的隨機數r,將a(s)與a(r)互換,這樣的話,就打亂了原有序列,得到一個不重複的隨機序列。

vba裡這個演算法是很容易實現的,但是,出於通用性和安全考慮,有的時候我們並不希望用vba,我們來看看在worksheet裡面如何利用內建函式實現這個功能。

(1)在a1-a52間填入"=int(rand()*52)+1",產生1-52間的隨機數,注意這裡是有重複的

(2)在b1-b52間填入1-52

(3)在c54-bb54填入1-52

(4)在c1填入"=if(row()=c$54,index(b$1:b$52,index($a$1:$a$52,c$54)),if(row()=index($a$1:

$a$52,c$54),index(b$1:b$52,c$54),b1))"。

分項解釋:

a:row()=c$54,如果當前行等於當前交換所排的序號

b:index(b$1:b$52,index($a$1:$a$52,c$54)),返回在b1到b52中選擇a1:a52中的第c54個值

c:if(row()=index($a$1:$a$52,c$54),否則的話,如果當前行等於a1:a52中第c54個值,則:

d:index(b$1:b$52,c$54),返回b1:b52中的第c54個值

e:若以上條件都不滿足,則返回b1

(5)將c1複製到c1:ba52這個區域裡面

(6)在ba1:ba52中,我們就得到了一個不重複的隨機序列,按f9可以生成一個新序列。

隨機產生六位數字密碼=int(rand()*(899999-10001))+100001

excel生成前2位是大寫字母,中間4位是小寫字母,後兩位是數字

excel有沒有函式加密鎖功能之類的

工作表中很多資料都是由公式計算生成的,那麼如何讓別人只看到計算的結果,而將使用的公式隱藏起來呢?今天我們就向大家介紹使用巨集來解決這一問題。一 建立巨集 啟動excel,依次選擇 工具 巨集 錄製新巨集 在開啟的視窗中輸入巨集的名稱,並把 儲存在 項設為 個人巨集工作簿 單擊 確定 按鈕進入巨集錄製...

在excel函式公式裡面怎麼把數字變成大寫的

右鍵 設定單元格格式 數字 特殊 中文大寫數字 b1輸入 if round a1,2 0,無效數值 if round a1,2 0,零 if round a1,2 1,text int round a1,2 dbnum2 元零 text int round a1,2 10 int round a1,...

有沒有可以讓人變矮的辦法,有沒有什麼辦法讓人變矮十釐米

看名字是女孩子,這個就簡單了。其實高和矮在視覺上可能會差5cm左右,利用服裝就可以達到。寬大的上衣寬褲腿的褲子,平跟鞋。應該可以實現你的目的 你好厲害啊 我想長那麼高都不行啊 你居然想變矮 那種藥沒有 不過我知道種方法,你練舉重去吧,練舉重的都不是很高 有啊天天做苦力去 去磚廠抗石頭 搬沙袋做些重活...